“==0”与“<1”的偏好

Preference for "==0" vs. "<1"

我在 Java 中写了一个方法来确定给定年份是否为闰年。这是写的方法:

public static boolean isLeapYear (int year) {
        return year <= 9999 && year > 0 && year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}

但是,我注意到 IntelliJ 最初通过将“== 0”的所有实例替换为“< 1”来纠正我的冗余逻辑。在上面的示例中,我已将它们改回“==0”。

在代码简单性或清晰性方面,是否存在某种偏好?似乎更简单的版本是 "equals 0" 因为它比简单的 "less than 1."

更精确

不确定是否有关于此的约定,或者在任何给定情况下您是否更愿意使用 <1 而不是 ==0 的原因。

谢谢!

清晰是您的指导原则:使用 == 0!= 0

这两个选项 有效 可以互换,因为在你的情况下余数不能小于零,但是 == 0!= 0 更容易阅读,更接近他们的自然语言意义 "has a remainder of zero" 等,而且它是行业惯例。

没有"performance"区别。