39

重複の可能性:
Java で (b == false) の場合など、ブール定数と明示的に比較するのは悪いことですか?

このNotePadProvider サンプル コードでは、作成者が次の形式を選択していることに気付きました。

    if (values.containsKey(NoteColumns.CREATED_DATE) == false) {
        values.put(NoteColumns.CREATED_DATE, now);
    }

以上:

    if (!values.containsKey(NoteColumns.CREATED_DATE)) {
        values.put(NoteColumns.CREATED_DATE, now);
    }

より論理的なものよりも最初の形式に利点はありますか?

4

7 に答える 7

63

「読みやすさ」は別として、いいえ。それらは機能的に同等です。

(「読みやすさ」は引用符で囲まれています。なぜなら、私は嫌い== falseで、!はるかに読みやすいと思うからです。しかし、他の人はそうではありません。)

于 2012-08-06T16:05:30.020 に答える
6

これはスタイルの選択です。コードのパフォーマンスにはまったく影響しませんが、読み手にとってより冗長になるだけです。

于 2012-08-06T16:05:11.720 に答える
3

注: ConcurrentMap を使用すると、より効率的な

values.putIfAbsent(NoteColumns.CREATED_DATE, now);

私はあまり冗長でない解決策を好み、IsTrue や IsFalse などのメソッドは避けます。

于 2012-08-06T16:31:37.887 に答える