我有:
ZoneId gmt = ZoneId.of("GMT");
LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDateNow = localDateTime.toLocalDate();
Set<LocalDate> hollidays = new HashSet<>();
我可以这样点LocalDate
吗?
if(hollidays.contains(localDateNow)){
...
}
答案 0 :(得分:3)
是的,你可以。
如果您查看LocalDate::equals()
实施,您将能够看到:
int compareTo0(LocalDate otherDate) {
int cmp = (year - otherDate.year);
if (cmp == 0) {
cmp = (month - otherDate.month);
if (cmp == 0) {
cmp = (day - otherDate.day);
}
}
return cmp;
}
看起来像是日期的正确实施的equals
方法 - 这意味着它可以与HashSet
一起正常使用。
摘自hashCode()
文档:
如果两个对象根据equals(Object)方法相等,则对两个对象中的每一个调用hashCode方法必须产生相同的整数结果。