如果为null则验证长变量

时间:2011-08-08 07:58:35

标签: java

如果long变量为null,我在验证时遇到了困难。 我使用的守则是:

long late_in= latein_hours.getTime();

它将显示java null指针异常的错误。那么如何验证它是否为null然后使其等于零。

由于

5 个答案:

答案 0 :(得分:9)

long late_in = 0;
if(latein_hours!=null){
    late_in= latein_hours.getTime();
}

原语不能为空,只有对象的引用才能保存null

答案 1 :(得分:7)

long不能为null:如果您未设置值,则会自动设置为0.

如果您想要一个可以为null的变量(例如,如果未初始化),则必须使用Long(查看大小写)。 Long就像long的容器,可以是null

Long latein_hours;
long late_in;
if(latein_hours!=null){
    late_in= latein_hours.getTime();
}

答案 2 :(得分:5)

长不是空的。 latein_hours是。 如果这是故意的,那么你可以这样做:

long late_in = latein_hours == null ? 0 : latein_hours.getTime();

答案 3 :(得分:2)

我不确定latein_hoursnull还是getTime()返回的Longnull。无论哪种方式,你只需要像这样检查null:

long late_in = 0;
if (latein_hours != null && latein_hours.getTime() != null) {
    late_in = latein_hours.getTime(); //auto unboxing
}
else {
    // was null
}

这是第二种在使用自动装箱时经常绊倒人的情况,你在代码中得到一些空指针异常,你只想用原语做一些数学运算。

答案 4 :(得分:0)

if(latein_hours!=null) {
    long late_in= latein_hours.getTime();
} 

如果在null对象上调用任何内容,您将获得空指针异常。即 如果

latein_hours = null;
latein_hours.getTime(); // NullPointerException