public static void main(String[] args) {
System.out.println(new boolean[] {}.hashCode());
}
正常运行结果始终为189568618
调试结果始终为 321142942
为什么?
(azul-21.0.2)
hashCode()
返回一个由哈希算法生成的整数值。
相等的对象(根据它们的 equals())必须返回相同的哈希码。
在您的情况下,您的对象处于两种不同的运行状态(发布和调试模式),因此它们不相等。