我用字符串文字创建了 3 个字符串 2,用 new 创建了一个字符串。但是当我为他们打印哈希码时,它给出了相同的哈希码。我很困惑它如何返回相同的哈希码。请在下面找到示例。public class StringTest{ public static void main(String[] args) { String str = "abc"; String str1 = "hfdjkfhs"; System.out.println("hashValue str:::" + str1.getClass().hashCode()); System.out.println("hashValue str:::" + str.getClass().hashCode()); String str2 = new String("def"); System.out.println("hashValue:::" + str2.getClass().hashCode()); }}输出 :-hashValue str1:::366712642hashValue str::366712642hashValue str2:::366712642
2 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
您正在打印String
类的哈希码,而不是创建的String
对象。
代替:
str.getClass().hashCode()
你应该有:
str.hashCode()
添加回答
举报
0/150
提交
取消