java - 如果我在 Java 中使用字符串作为哈希表键,会出现错误吗?

标签 java

我想使用哈希表将不可变字符串 ID 唯一链接到可变对象。如果我有两个相同字符的字符串,Java 会将它们解释为哈希表的不同键吗?我知道字符串是对象,所以两个字符串可能没有相同的引用。

换句话说,如果我...

myHashTable.add("A" , ObjectA)
String myReference = "A" 
myHashTable.add(myReference, ObjectB) // I am not sure how java will interpret this
myHashTable.get("A") //returns A
myHashTable.get(myReference) //returns B
myReference.equals("A") //returns true

我可以安全地使用字符串作为哈希表的键吗(意味着由相同字符组成的字符串将返回相同的值)

最佳答案

String.hashCode()方法仅基于字符串的内容,而不是对象标识。所以是的,这是安全的。

关于java - 如果我在 Java 中使用字符串作为哈希表键,会出现错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644200/

相关文章:

java - 在java中绘制帕累托前沿解

java - 使用 Java/PHP 桥和 XML-RPC 的优点和权衡

java - Redmine/Java 本地 : Update query by script. 克隆 Fiddler 请求

java - 在 Java 属性文件中引用其他变量

java - 无法解析 com.hold1 :keyboardheightprovider:0. 0.9

javascript - 本地主机上的 Angular2 CORS 问题

java - 完美数字 1 到 n

java - 无法使用 spring boot jpa 构建 Hibernate SessionFactory

java - 如何在特定方案中对 ireport 交叉表中的列进行排序

java - 如何使用 hadoop.mapreduce.lib.output.MultipleOutputs 使用 oozie 工作流创建目录结构?