我有:
ZoneId gmt = ZoneId.of("GMT");
LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDateNow = localDateTime.toLocalDate();
Set<LocalDate> hollidays = new HashSet<>();我能像这样和LocalDate一样吗?
if(hollidays.contains(localDateNow)){
...
}发布于 2017-08-22 09:42:25
可以,停那儿吧。
如果您查看一下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方法都必须产生相同的整数结果。
https://stackoverflow.com/questions/45813991
复制相似问题