Как проверить, является ли 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 этого не позволяет. Как я могу сделать эту проверку ?

573   7  

7 ответов:

An int не null, это может быть 0 если не инициализирован.

если вы хотите, чтобы целое число могло быть null, вам нужно использовать Integer вместо int.

Integer id;
String name;

public Integer getId() { return id; }

кроме того, заявление if(person.equals(null)) не может быть правдой, потому что если person равно null, то a NullPointerException будет брошен. Так что правильное выражение 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.

примитивный int не может быть null. Если вам нужен null, используйте Integer вместо.

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

    Ничего не найдено.