栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

奇数NullPointerException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

奇数NullPointerException

我99%确信这是由于条件运算符的行为引起的。我相信您的代码等同于:

double tmp = store != null ? store.getAvailablePieces() : 0.0;Double availablePieces = tmp;

换句话说,它会将的结果拆箱

store.getAvailablePieces()
double
,然后再装箱到
Double
。如果
store.getAvailablePieces()
返回
null
,的确会导致死亡
NullPointerException

解决方法是也使第三个操作数

Double

Double availablePieces = store != null ? store.getAvailablePieces()      : Double.valueOf(0.0);

现在将没有装箱或拆箱,因此可以

store.getAvailablePieces()
返回
null
。然后
0.0
,您可能想使用它,但这是另一回事。如果要这样做,可以更改为:

Double tmp = store != null ? store.getAvailablePieces() : null:double availablePieces = tmp == null ? 0.0 : tmp;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464102.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号