如何检查int是否为null

时间:2012-12-06 16:17:39

标签: java int

我有一个名为Person的对象。

它有几个属性;

int id;
String name;

我设置了像Person p = new Person(1,"Joe");这样的人物对象。

1。)我需要检查对象是否为空;以下表达式是否正确;

if (person == null){
}

Or


if(person.equals(null))

2。)我需要知道ID是否包含Int。

if(person.getId()==null){} 

但是,java并不允许它。我怎么做这个检查?

8 个答案:

答案 0 :(得分:152)

int不为空,如果未初始化,则可能为0

如果您希望整数能够为空,则需要使用Integer而不是int

Integer id;
String name;

public Integer getId() { return id; }

除了语句if(person.equals(null))不可能是真的,因为如果person为空,那么将抛出NullPointerException。所以正确的表达式是if (person == null)

答案 1 :(得分:41)

原语没有空值。 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。)我需要检查对象是否为空;以下表达式是否正确;

if (person == null){
}

上面的代码检查person是否为null。你需要做什么

if (person != null){ // checks if person is not null
}

if(person.equals(null))

当person为null时,上面的代码会抛出NullPointerException。

答案 2 :(得分:11)

原始int不能为空。如果您需要null,请改用Integer

答案 3 :(得分:2)

  

1。)我需要检查对象是否为空;以下表达式是否正确;

     

if(person == null){   }

即可。这是检查对象是否为null的方法。

  

2。)我需要知道ID是否包含Int。

     

if(person.getId()== null){}

由于id被定义为原始int,因此默认情况下会使用0进行初始化,但永远不会是null。如果原始类型为null,则无需检查它们。它们永远不会为空。如果需要,您可以将默认值0if(person.getId()==0){}进行比较。

答案 4 :(得分:0)

您必须访问您的班级属性。

要访问它的属性,你必须这样做:

person.id
person.name

其中

  

是您的Person类的实例。

如果可以访问属性,可以这样做,如果没有,你必须使用setter和getters ......

答案 5 :(得分:0)

在Java中,原始数据类型没有Null值。 如果需要检查Null,请使用Integer Class而不是原始类型。您无需担心数据类型的差异。 Java将int基本类型数据转换为Integer。 当涉及内存时,整数要比整数占用更多的内存。但是内存分配的差异,没有什么可考虑的。

在这种情况下,您必须使用Inter而不是int

请尝试以下摘录,并查看示例以了解更多信息,

ng generate universal --client-project=YourApplicationName

`

Integer id;
String name;

//Refer this example
    Integer val = 0;

`

您还可以如下分配Null,

if (val != null){
System.out.println("value is not null");
}

答案 6 :(得分:0)

在这种情况下,我会避免同时使用null

只需使用-1作为空值

如果您需要-1为可接受的值(非null),请改用float。由于您所有的实际答案都是整数,因此请将您的空0.1

或者,找到一个x永远不会出现的值,例如Integer.MAX_VALUE之类的东西。

答案 7 :(得分:-2)

您可以使用

if (person == null || String.valueOf(person.getId() == null)) 

除了常规方法

person.getId() == 0