这个问题已经在这里有一个答案:
- 是什么一个int和Java和C#的整数之间的区别? 26个回答
这是设置已经定义INT为空的最佳方法?
private int xy(){
int x = 5;
x = null; //-this is ERROR
return x;
}
所以我选择了这个
private int xy(){
Integer x = 5;
x = null; //-this is OK
return (int)x;
}
然后,我需要这样的东西:
if(xy() == null){
// do something
}
我的第二个问题,我可以放心地投整数为int?
感谢您的任何答复。
在这种情况下,我会避免使用null
一起。
只需使用-1
作为null
如果需要-1
是一个可以接受(NOT NULL)值,然后用一个float
来代替。 由于所有的真正的答案都将是整数,让你空0.1
或者,发现一个值x
绝不会像Integer.MAX_VALUE
什么的。
你不能。 int
是一种原始的值类型-有没有这样的概念,作为一个null
的值int
。
您可以使用null
与Integer
,因为这是一个类 ,而不是原始值。
它真不明白你的方法试图实现,但你根本不能代表null
为int
。
只有对象为空。 原语(如int
)不能。
我可以安全地转换整数为int?
你并不需要一个转换,你可以依靠自动拆箱。 然而,它可能会抛出一个NullPointerException:
Integer i = 5;
int j = i; //ok
Integer k = null;
int n = k; //Exception
你的方法编译,但试图拆箱整数时会抛出NullPointerException ...
整数和INT之间的选择取决于你想要达到的目的。 你真的需要表示“没有价值”额外的状态? 如果这是一个合法的状态,请使用整数。 否则,使用int。