条件が否定されている条件式を報告します。

通常、このようなステートメントは条件式の分岐の順序を入れ替えると明確さが増します。

obj != null または num != 0 形式の比較を無視するには、「'!= null' 比較を無視する」および「'!= 0' 比較を無視する」オプションを使用します。 obj != null は事実上 "obj exists" を意味するため、式全体に否定の意図はありません。このため、理解しやすいです。

同じ論法は 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";
    }