如何设置为int值null?Java Android

use*_*587 1 java int null android integer

这是将已定义的int设置为null的最佳方法?

private int xy(){
    int x = 5;
    x = null; //-this is ERROR
    return x;
}
Run Code Online (Sandbox Code Playgroud)

所以我选择这个

private int xy(){
    Integer x = 5;
    x = null; //-this is OK
    return (int)x;
}
Run Code Online (Sandbox Code Playgroud)

然后我需要这样的东西:

if(xy() == null){
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是否可以安全地将Integer转换为int?

谢谢你的回复.

Jon*_*eet 12

你不能.int是一种原始值类型 - 没有这样的概念作为nullint.

你可以使用nullwith,Integer因为这是一个而不是原始值.

你的方法试图实现的目标并不是很清楚,但你根本无法表现nullint.


mrr*_*es1 10

在这种情况下,我会避免null一起使用.

只需-1用作你的null

如果您需要-1是可接受的(非空)值,则使用float替代值.由于您的所有真实答案都将是整数,因此请将其设为null0.1

或者,找到一个x永远不会是的值,比如Integer.MAX_VALUE什么.


ass*_*ias 6

只有对象可以为null.基元(如int)不能.

我可以安全地将Integer转换为int吗?

你不需要演员,你可以依靠自动拆箱.但是它可能会抛出NullPointerException:

Integer i = 5;
int j = i; //ok

Integer k = null;
int n = k; //Exception
Run Code Online (Sandbox Code Playgroud)