if (boolean == false) 与 if (!boolean)

可能重复:
这样不好明确比较布尔常量,例如如果 (b == false) 在 Java 中?

在 这个NotePadProvider示例代码,我注意到作者选择的形式是:

In this NotePadProvider sample code, I noticed that the author chose the form:

    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);
    }

第一种形式比逻辑更合理的形式有什么优势吗?

Is there any advantage in the first form over the more logical one?

推荐答案

除了可读性",没有.它们在功能上是等效的.

Apart from "readability", no. They're functionally equivalent.

(可读性"用引号引起来,因为我讨厌 == false 并且发现 ! 更易读.但其他人则不然.)

("Readability" is in quotes because I hate == false and find ! much more readable. But others don't.)

相关文章