Как проверить, является ли int нулем
у меня есть объект, называемый Person.
он имеет несколько атрибутов в нем;
int id;
String name;
я установил объект person как Person p = new Person(1,"Joe");.
1.) Мне нужно проверить, не является ли объект null; является ли следующее выражение правильным;
if (person == null){
}
Or
if(person.equals(null))
2.) Мне нужно знать, если идентификатор содержит Int.
if(person.getId()==null){}
но java этого не позволяет. Как я могу сделать эту проверку ?
7 ответов:
An
intне null, это может быть0если не инициализирован.если вы хотите, чтобы целое число могло быть null, вам нужно использовать
Integerвместоint.Integer id; String name; public Integer getId() { return id; }кроме того, заявление
if(person.equals(null))не может быть правдой, потому что еслиpersonравно null, то aNullPointerExceptionбудет брошен. Так что правильное выражениеif (person == null)
примитивы не имеют значение null. по умолчанию для int это 0.
if(person.getId()==0){}значения по умолчанию для примитивов в Java:
Data Type Default Value (for fields) byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\u0000' boolean falseобъекты имеют значение null по умолчанию.
строка (или любой объект) - - - > null
1.) Мне нужно проверить, не является ли объект null; является ли следующее выражение правильным;
if (person == null){ }приведенный выше фрагмент кода проверяет, является ли person null. вам нужно делай
if (person != null){ // checks if person is not null }и
if(person.equals(null))приведенный выше код будет вызывать исключение NullPointerException, когда person равен null.
1.) Мне нужно проверить, не является ли объект null; является ли следующее выражение правильным;
if (person = = null){ }
да. Вот как вы проверяете, если объект
null.2.) Мне нужно знать, если идентификатор содержит Int.
если(человек.getId ()= = null) {}
нет С
idопределяется как примитивныеint, он будет инициализирован по умолчанию с0и это никогда не будетnull. Нет необходимости проверять примитивные типы, если они имеют значение null. Они никогда не будут нулевыми. Если вы хотите, вы можете сравнить со значением по умолчанию0какif(person.getId()==0){}.
вы должны получить доступ к вашим атрибутам класса.
чтобы получить доступ к его атрибутам, вы должны сделать:
person.id person.nameздесь
человек
экземпляр класса Person.
Это можно сделать, если attibutes могут быть доступны, если нет, то вы должны использовать сеттеры и геттеры...
вы можете сделать нулевой контроль как этот
int id; if(person.getId()==0){ //TO DO }или
Integer id2; if(person.getId2()==null){ //TO DO }или
Long id3; if()[ //TO DO }
можно использовать
if (person == null || String.valueOf(person.getId() == null))в дополнение к обычным подходом
person.getId() == 0
Comments