如何设置为int null值? Java的Android的[复制](How to set to

2019-09-27 15:11发布

这个问题已经在这里有一个答案:

  • 是什么一个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?

感谢您的任何答复。

Answer 1:

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

只需使用-1作为null

如果需要-1是一个可以接受(NOT NULL)值,然后用一个float来代替。 由于所有的真正的答案都将是整数,让你空0.1

或者,发现一个值x绝不会像Integer.MAX_VALUE什么的。



Answer 2:

你不能。 int是一种原始的值类型-有没有这样的概念,作为一个null的值int

您可以使用nullInteger ,因为这是一个 ,而不是原始值。

它真不明白你的方法试图实现,但你根本不能代表nullint



Answer 3:

只有对象为空。 原语(如int )不能。

我可以安全地转换整数为int?

你并不需要一个转换,你可以依靠自动拆箱。 然而,它可能会抛出一个NullPointerException:

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

Integer k = null;
int n = k; //Exception


Answer 4:

你的方法编译,但试图拆箱整数时会抛出NullPointerException ...

整数和INT之间的选择取决于你想要达到的目的。 你真的需要表示“没有价值”额外的状态? 如果这是一个合法的状态,请使用整数。 否则,使用int。



文章来源: How to set to int value null? Java Android [duplicate]