相对于“ <1”,首选“ == 0”

时间:2019-11-21 01:43:41

标签: java conventions

我已经用Java编写了一种确定给定年份是否为is年的方法。这是编写的方法:

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

但是,我注意到IntelliJ最初是通过将所有“ == 0”实例替换为“ <1”来纠正冗余逻辑的。从那以后,在上述示例中,我将其更改为“ == 0”。

就代码的简单性或清晰度而言,是否有一个相对于另一个的偏爱?似乎更简单的版本是“等于0”,因为它比简单的“小于1”更精确。

不确定是否对此有任何约定,或者是否有原因为什么在任何给定情况下都希望使用<1 over == 0。

谢谢!

1 个答案:

答案 0 :(得分:4)

在这里,清晰是您的指导原则:与== 0!= 0一起使用。

这两个选项可以有效地互换,因为在您的情况下,余数不能小于零,但是== 0!= 0更容易阅读,而且很多更加接近其自然语言的含义,“余数为零”,等等,这也是行业惯例。

没有“性能”差异。