java - 将空括号分配给 String 引用变量

标签 java oop object reference

在 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/

相关文章:

java - 非法状态异常 : get field slot from row 0 col -1 failed

Python:括号内的方括号

java - 如何查找HashMap中存储的Object

jquery - 无法序列化对象 - jquery.param 返回未定义

java - JSF 托管 Bean 性能

java - 基本记录大量条目

java - Java中策略模式的简洁表达

c++ - 将函数传递给类的 OO 方法

javascript - 无法使用 Javascript 或 JQuery trim 对象属性

java - 初始化 ArrayList 时出错