HashSet<String> hst1 = new HashSet<String>();
hst1.add("1");
String ss = "123";
System.out.println(ss.charAt(0));
if (hst1.contains(ss.charAt(0)))
System.out.println("yes");
else
hst1.add("1");
String ss = "123";
System.out.println(ss.charAt(0));
if (hst1.contains(ss.charAt(0)))
System.out.println("yes");
else
System.out.println("no");
输出是no
这是因为contains内部是比较hash值的,字符串“1”的hash值和字符'1'的哈希值不一样
本文通过一个简单的示例探讨了在Java中使用HashSet进行元素包含判断时的注意事项。具体分析了字符串与字符在HashSet中的存储机制及如何进行正确比较。
484

被折叠的 条评论
为什么被折叠?



