pix*_*xel 13 java short-circuiting logical-operators and-operator
我有这样的代码:
if(object != null && object.field != null){
object.field = "foo";
}
Run Code Online (Sandbox Code Playgroud)
假设该对象为null.
此代码是否导致nullPointerException或只是if语句不会被执行?
如果是这样,如何重构这段代码更优雅(如果可能的话)?
Mic*_*mlk 20
&&虽然不会短路&.
但是对于这样的简单问题,最好只尝试它(当你无法访问机器时,ideone可以提供帮助).
&& - http://ideone.com/LvV6w& - http://ideone.com/X5PdU
最后,确定的地方是JLS§15.23.不是最容易阅读的内容,相关部分说明: &&运算符类似于&(§15.22.2),但仅在其左侧操作数的值为真时才计算其右侧操作数.