Java 如果为null,则验证长变量

Java 如果为null,则验证长变量,java,Java,我在验证长变量是否为空时遇到困难。 我使用的代码是: long late_in= latein_hours.getTime(); 它将显示一个java空指针异常的错误。那么我如何验证它是否为null,然后使它等于零呢 谢谢长字符不是空的迟到时间为。 如果这是有意的,那么您可以执行以下操作: long late_in = latein_hours == null ? 0 : latein_hours.getTime(); 原语不能为null,只有对对象的引用才能包含null值 if(latei

我在验证长变量是否为空时遇到困难。 我使用的代码是:

long late_in= latein_hours.getTime();
它将显示一个java空指针异常的错误。那么我如何验证它是否为null,然后使它等于零呢


谢谢

长字符不是空的<代码>迟到时间为。 如果这是有意的,那么您可以执行以下操作:

long late_in = latein_hours == null ? 0 : latein_hours.getTime();
原语不能为null,只有对对象的引用才能包含
null

if(latein_hours!=null) {
    long late_in= latein_hours.getTime();
} 
如果调用null对象上的任何内容,将得到null指针异常。即 如果


我不确定
latein_hours
是否为
null
或者
getTime()
是否返回
Long
,该值为
null
。无论哪种方式,您只需检查空值,如下所示:

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

这是第二种情况,在使用自动取消装箱时,人们经常会被绊倒。在代码中,您确实会遇到一些空指针异常,您认为这只是对原语进行一些数学运算。

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

如果希望变量可以为null(例如,如果未初始化),则必须使用
Long
(查看案例)。
Long
类似于
Long
的容器,可以是
null

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

-1:假设
latein_hours
是一个
java.util.Date
对象,
getTime()
返回一个原语
long
而不是一个包装器
long
+1-投票否决某人没有做出危险的假设是很糟糕的。我不应该在投票前写评论。是的,否决票太苛刻了,是的,如果我曾经否决过,我会收回它。(如果你不相信我,看看我的代表)
long late_in = 0;
if (latein_hours != null && latein_hours.getTime() != null) {
    late_in = latein_hours.getTime(); //auto unboxing
}
else {
    // was null
}
Long latein_hours;
long late_in;
if(latein_hours!=null){
    late_in= latein_hours.getTime();
}