Dea*_*ite 3 java string hashcode
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)
您已在第二个字符串的开头插入了零宽度不间断空格 (U+FEFF) 字符。
该字符串实际上等于以下字符串(没有隐藏的 unicode 字符): "\ufeffsuccess"
这意味着a和b不相等并且没有相同的哈希码。
| 归档时间: |
|
| 查看次数: |
3105 次 |
| 最近记录: |