两个对象的hashCode()相同,则equals()也一定为true吗?
不一定。两个对象的 hashCode() 相同,equals() 不一定 true。比如在map中,hashCode() 相等,只能说明这两个键值对的哈希值相同,不代表这两个键值对相等。例如:
String str1 = "Aa";
String str2 = "BB";
System.out.println(String.format("str1: %d | str2: %d",str1.hashCode(),str2.hashCode()));
System.out.println(str1.equals(str2));
输出结果:
str1: 2112 | str2: 2112
false
版权声明:本文为JingLisen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。