我有一个叫做的对象Person.
它有几个属性;
int id;
String name;
Run Code Online (Sandbox Code Playgroud)
我设置了一个人物对象Person p = new Person(1,"Joe");.
1.)我需要检查对象是否为空; 以下表达式是否正确;
if (person == null){
}
Or
if(person.equals(null))
Run Code Online (Sandbox Code Playgroud)
2.)我需要知道ID是否包含Int.
if(person.getId()==null){}
Run Code Online (Sandbox Code Playgroud)
但是,java不允许它.我怎么做这个检查?
Ale*_*lex 166
An int不为null,0如果没有初始化则可能.
如果您希望整数能够为null,则需要使用Integer而不是int.
Integer id;
String name;
public Integer getId() { return id; }
Run Code Online (Sandbox Code Playgroud)
除了声明if(person.equals(null))不可能是真的,因为如果person为null,那么NullPointerException将抛出一个.所以正确的表达方式是if (person == null)
Per*_*ror 43
原语没有空值.int的默认值为0.
if(person.getId()==0){}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
对象具有null作为默认值.
字符串(或任何对象)---> null
1.)我需要检查对象是否为空; 以下表达式是否正确;
if (person == null){
}
Run Code Online (Sandbox Code Playgroud)
上面的代码检查人是否为空.你需要做的
if (person != null){ // checks if person is not null
}
Run Code Online (Sandbox Code Playgroud)
和
if(person.equals(null))
Run Code Online (Sandbox Code Playgroud)
当person为null时,上面的代码将抛出NullPointerException.