java 8 - ZonedDateTime 不等于另一个 ZonedDateTime
我创建了两个ZonedDateTime对象,我认为它们应该是相等的:
public static void main(String[] args) {
ZoneId zid = ZoneId.of("America/New_York");
ZoneOffset offset = ZoneOffset.from(LocalDateTime.now().atZone(zid));
ZonedDateTime zdt0 = ZonedDateTime.of(2014, 8, 24, 21, 10, 1, 777000002, offset);
ZonedDateTime zdt1 = ZonedDateTime.of(2014, 8, 24, 21, 10, 1, 777000002, zid);
boolean equals = Objects.equals(zdt0, zdt1);
System.out.println("equals: " + equals);
}
在调试器中,我看到第一种情况下ZonedDateTime区域的成员类是java.time.ZoneOffset,在第二种情况下是java.time.ZoneRegion,这使得ZonedDateTime对象不相等。这是令人困惑的...有什么想法吗?