奇数NullPointerException

奇数NullPointerException,第1张

奇数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;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5439598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存