Java HashSet<String>的 contains() 方法会测试字符串或对象标识的相等性吗?
假设我在Java中有这个代码:
HashSet<String> wordSet = new HashSet<String>();
String a = "hello";
String b = "hello";
wordSet.add(a);
会回来还是?根据我的理解,并引用不同的对象,即使它们的值是相同的。所以应该回来。但是,当我运行此代码时,它会返回 .只要 b
包含值“hello”
,无论 String 对象 b
来自何处,它都会始终返回 true
吗?我能一直保证这一点吗?如果没有,我什么时候不能保证这一点?如果我想对字符串以外的对象执行类似操作,该怎么办?wordSet.contains(b);
true
false
a
b
contains()
false
true