我有一个双重类型的变量。我想检查变量是否为null。我读到double将永远不会变为null,他们建议我将数据类型double更改为Double。如果我将double更改为Double我遇到了性能问题。我需要检查空指针。
double dbl=ParentBean.getChildBean().getDays();
如何检查dbl
是否为空。
提前谢谢。
答案 0 :(得分:1)
** Primitive double的默认值始终为0.0d 参考:http://www.c4learn.com/java/java-default-values/
所以不要指望null
答案 1 :(得分:0)
您可以为double的包装类检查null。
将double更改为它的包装类Double,并使用==检查是否为null。
Double dbl=ParentBean.getChildBean().getDays();
现在你可以: -
if(dbl==null)
或者你可以做类似下面的事情,如果getDays()返回类型是Double: -
double dbl=ParentBean.getChildBean().getDays()==null?0.00d:ParentBean.getChildBean().getDays();
上面的语句我正在检查null,如果true,则将sentinel值-1d分配给double dbl else ParentBean.getChildBean()。getDays()。 分配标记值不是正确的方法,但是。
答案 2 :(得分:0)
您无法检查原语(double
,float
,long
,int
,char
,short
,{{1} },byte
)boolean
的数据类型。
原语始终具有值。您只能检查对象的引用是否为null。每个基元(null
,Double
,Float
,Long
,...)都有一个包装器对象,如果使用这些基元,则可以检查是否为空
示例:强>
Integer