翻转条件表达式分支的顺序通常会增加这类语句的清晰度。
使用忽略 '!= null' 比较和忽略 '!= 0' 比较选项,以忽略 obj != null
或 num != 0
形式的比较。
由于 obj != null
实际上意味着“obj 存在”,因此整个表达式的含义不涉及任何否定,所以易于理解。
同样的推理也适用于 num !=0
表达式,在使用位掩码时更是如此。
这些形式还有另外的好处,即先提及有趣的情况。
在大多数情况下,== null
分支的值为 null
本身,如下例所示:
static String getName(Person p) {
return p != null ? p.getName() : null;
}
static String getExecutableString(int fileMode) {
return (fileMode & 0b001001001) != 0 ? "executable" : "non-executable";
}