我有以下问题。我需要验证日期和时间,因此如果星期几是 星期二 或星期四 并且时间在下午 2:00 到 3:00 之间,它会返回 false。
我有两个选择:
if (appointmentRequest.getDateTime().getDayOfWeek() == DayOfWeek.TUESDAY
|| appointmentRequest.getDateTime().getDayOfWeek() == DayOfWeek.THURSDAY) {
if (appointmentRequest.getDateTime().getHour() == 2) {
return false;
}
}
选项 2:
if ((appointmentRequest.getDateTime().getDayOfWeek() == DayOfWeek.TUESDAY
|| appointmentRequest.getDateTime().getDayOfWeek() == DayOfWeek.THURSDAY)
&& (appointmentRequest.getDateTime().getHour() == 2)) {
return false;
}
在这种情况下,最佳做法是什么?
最佳答案
逻辑上它们是等价的,并且在计算上运行时间的差异可以忽略不计。
始终争取清晰度,并且要更易于扩展且更易于维护。根据经验,请记住,虽然您通常编写一行代码一次,但您将调试它数百次。
我的直觉是第一个选项符合这个条件。如果您做出选择,则很容易在第二个 if
上设置换行符。
关于java - 嵌套 if 语句与条件中的复杂逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40887467/