在 Java 中将空括号值赋给字符串时会发生什么?
String s = "";
对象引用变量s是否引用了堆内存中的一个String值为空的对象?
让我问这个问题的是,当打印对象的哈希码时,我得到一个零,这对我来说没有意义!
System.out.println("hash code is = " + s.hashCode());
哈希码=0
最佳答案
来自字符串文档:
Returns a hash code for this string. The hash code for a String object is computed as s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
并且由于您的字符串为空,因此结果为 0。
关于java - 将空括号分配给 String 引用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336138/