如何检查int是否为空
我有一个叫Person
的对象。
它有几个属性;
int id; String name;
我设置了一个Person p = new Person(1,"Joe");
对象,如Person p = new Person(1,"Joe");
。
1)我需要检查对象是否为空; 下列expression是否正确;
if (person == null){ } Or if(person.equals(null))
2.)我需要知道ID是否包含一个Int。
if(person.getId()==null){}
但是,Java不允许它。 我怎样才能做这个检查?
int
不为null,如果未初始化,则可能为0
。
如果你想要一个整数能够为null,你需要使用Integer
而不是int
。
Integer id; String name; public Integer getId() { return id; }
除了声明if(person.equals(null))
不能为真,因为如果person
为null,则会抛出一个NullPointerException
exception。 所以正确的expression式是if (person == 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
对象具有空值作为默认值。
string(或任何对象)—> null
1)我需要检查对象是否为空; 下列expression是否正确;
if (person == null){ }
上面这段代码检查是否为空。 你需要做的
if (person != null){ // checks if person is not null }
和
if(person.equals(null))
当person为null时,上面的代码会抛出NullPointerException。
原始的int
不能为null。 如果您需要null,请使用Integer
。
1)我需要检查对象是否为空; 下列expression是否正确;
if(person == null){}
是的 。 这是如何检查对象是否为null
。
2.)我需要知道ID是否包含一个Int。
如果(person.getId()== NULL){}
NO由于id
被定义为基本int
,所以它将被默认初始化为0
并且它永远不会为null
。 如果它们为空,则不需要检查原始types。 他们永远不会是空的。 如果你愿意,你可以比较默认值0
, if(person.getId()==0){}
。
你必须访问你的类的属性。
要访问它的属性,你必须这样做:
person.id person.name
哪里
人
是你的类Person的一个实例。
如果属性可以被访问,则可以这样做,如果不属于,则必须使用setter和getters。
您可以使用
if (person == null || String.valueOf(person.getId() == null))
除了定期的方法
person.getId() == 0