ITPub博客

首页 > 应用开发 > > Java Object转Double(double)关于null值的问题

Java Object转Double(double)关于null值的问题

作者:devinw 时间:2019-08-28 14:05:31 0 删除 编辑

先看下面的代码

public static void main(String[] args) {

Map map = new HashMap();

map.put("key", 36D);

Object object = map.get("key2");

// 转为Double

Double d1 = (Double) object;

System.out.println(d1); // null

// 转为double

double d2 = object == null ? 0 : Double.parseDouble(object.toString());

System.out.println(d2); // 0.0

Double d3 = d1 + d2; // or double d3 = d1 + d2; NullPointerException

System.out.println(d3);

}

目前我使用两种转换方式

1)转为 Double ,object 为null时,d1 也为 null

2)转为 double ,object 为null时,d2 为 0.0

对于第一种 d1,假若需要使用d1的值去计算,则会空指针异常

对于第二种 d2,则需要对object判空并赋零值,把原来的 null 改为 0 了。

所以有没有其他更好的实现方式呢?还是使用 d1或d2?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2715/viewspace-3121504/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    83
  • 访问量
    760