问题描述
可能重复:
这样不好明确比较布尔常量,例如如果 (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.)