【发布时间】:2023-01-10 17:13:44
【问题描述】:
我有一些代码执行以下操作:
if(object == null || object.value.equals(" ")) {
// do something
}
else {
// do something else
}
上面的内容对我来说似乎很危险,因为如果我切换两个条件的顺序或将其更改为 AND 表达式,则当对象为 null 时代码将崩溃,但我还在某处读到 Java 保证从左到右计算操作数。也就是说,我也读过不要假设这是真的。
我对所有这些相互矛盾的建议感到困惑,想知道上面的代码是否构成错误。也就是说,如果这确实被认为是不好的做法,那么重新编码的最佳方法是什么?
【问题讨论】:
标签: java specifications operands