【发布时间】:2012-02-16 13:14:16
【问题描述】:
假设我有这段 Java 代码:
HashSet<String> wordSet = new HashSet<String>();
String a = "hello";
String b = "hello";
wordSet.add(a);
wordSet.contains(b); 会返回true 还是false?据我了解,a 和 b 指的是不同的对象,即使它们的值相同。所以contains() 应该返回false。但是,当我运行此代码时,它会返回 true。 只要b 包含值"hello",无论字符串对象b 来自何处,它是否总是返回true?我是否总是保证这一点?如果不是,我什么时候不能保证这一点?如果我想对字符串以外的对象做类似的事情呢?
【问题讨论】:
标签: java string reference hashset