如何在java中检查null的double类型值

时间:2017-01-17 12:46:29

标签: java

我有一个双重类型的变量。我想检查变量是否为null。我读到double将永远不会变为null,他们建议我将数据类型double更改为Double。如果我将double更改为Double我遇到了性能问题。我需要检查空指针。

double dbl=ParentBean.getChildBean().getDays();

如何检查dbl是否为空。 提前谢谢。

3 个答案:

答案 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)

您无法检查原语(doublefloatlongintcharshort,{{1} },byteboolean的数据类型。

原语始终具有值。您只能检查对象的引用是否为null。每个基元(nullDoubleFloatLong,...)都有一个包装器对象,如果使用这些基元,则可以检查是否为空

示例:

Integer