如果long变量为null,我在验证时遇到了困难。 我使用的守则是:
long late_in= latein_hours.getTime();
它将显示java null指针异常的错误。那么如何验证它是否为null然后使其等于零。
由于
答案 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_hours
是null
还是getTime()
返回的Long
是null
。无论哪种方式,你只需要像这样检查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