首先,我需要使用Java 7,所以我不能遗憾地使用SE8 Time,尽管我很乐意学习它!
我有一份持续时间清单如下:
List<Duration> durations;
这些值中的大多数约为8小时,但有些值为零(故意)。如何检查它们是0天,0分钟,0秒还是0毫秒?我需要检查每种方法如下,还是有更简洁的方法?
for(Duration duration : durations){
if(duration.getStandardDays() == 0 &&
duration.getStandardHours() == 0 &&
duration.getStandardSeconds() == 0){
//do something
}
}
我问的原因是我注意到API中存在常量ZERO,我认为这是以某种方式链接到它。我该如何与它进行比较?或者我应该吗?
https://www.joda.org/joda-time/apidocs/org/joda/time/Duration.html
答案 0 :(得分:6)
答案 1 :(得分:2)
您可以尝试使用duration.isEqual(Duration.ZERO)
。 isEqual
方法在AbstractDuration.java中定义,静态Duration.ZERO
值在here中定义。