String a = "success";
String b = "success";
System.out.println(a.hashCode());
System.out.println(b.hashCode());
if(a.equals(b)){
System.out.println("123");
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这两个字符串有不同的哈希码。
String a = "success";
String b = "success";
System.out.println(a.hashCode());
System.out.println(b.hashCode());
System.out.println(System.identityHashCode(a));
System.out.println(System.identityHashCode(b));
Run Code Online (Sandbox Code Playgroud)
输出:
-1867169789
1954952228
33263331
6413875
Run Code Online (Sandbox Code Playgroud)