E_X*_*E_X 3 java oop reference object
将空括号值分配给Java中的String时会发生什么?
String s = "";
Run Code Online (Sandbox Code Playgroud)
对象引用变量s是否引用堆内存中携带String值为nothing的对象?
是什么让我问这个问题是当打印对象的哈希码时我得到零,这对我来说没有意义!
System.out.println("hash code is = " + s.hashCode());
Run Code Online (Sandbox Code Playgroud)
哈希码= 0
从String doc:
返回此字符串的哈希码.String对象的哈希码计算为s [0]*31 ^(n-1)+ s [1]*31 ^(n-2)+ ... + s [n-1]
因为你的字符串是空的,所以会得到0.