Java 将可为空的整数与0进行比较
我们必须如何将整型包装整数与零值进行比较?当int值可以为null时,我们可以使用Integer(int不允许null): 这两个选项都会引发java.lang.NullPointerException:Java 将可为空的整数与0进行比较,java,Java,我们必须如何将整型包装整数与零值进行比较?当int值可以为null时,我们可以使用Integer(int不允许null): 这两个选项都会引发java.lang.NullPointerException: 0==x或x==0 那么,很简单,我们如何比较可以为空或不可以为空的整数呢?x是类中的一个字段,因此当您在创建它时,没有引用任何整数对象(整数x=新整数(7)),编译器会为您提供一个空值(对象引用的默认值。)。因此您似乎有:整数x=null; 所以要比较它,只需使用Integer包装类实现的e
0==x代码>或x==0代码>
那么,很简单,我们如何比较可以为空或不可以为空的整数呢?x
是类中的一个字段,因此当您在创建它时,没有引用任何整数对象(整数x=新整数(7)
),编译器会为您提供一个空值(对象引用的默认值。)。因此您似乎有:整数x=null;
所以要比较它,只需使用Integer包装类实现的equals()
方法
new Integer(0).equals(x)
x
是类中的一个字段,因此当您创建它而不引用任何Integer
对象时(Integer x=new Integer(7)
),编译器会为您提供一个null
(对象引用的默认值)。因此,您似乎有:整数x=null;
所以要比较它,只需使用Integer包装类实现的equals()
方法
new Integer(0).equals(x)
Integer.valueOf(0).equals(x)
或x!=null&&x==0
Objects.equals(x,0)
Integer.valueOf(0).equals(x)
或x!=null&&x==0
对象.equals(x,0)
。您几乎不应该调用整数
构造函数。使用Integer.valueOf()
相反。您几乎不应该调用Integer
构造函数。请改用Integer.valueOf()
。