Set是一个接口,它的实现类常见的有HashSet,TreeSet。
这里用HashSet来示范一下。
== 比较的是内存地址- import java.util.HashSet;
- import java.util.Set;
- public class SetTest {
- public static void main(String[] args) {
- Set s = new HashSet();
-
- String s1 = "Hello";
- String s2 = new String("Hello");
- s.add(s1);
- s.add(s2);
- System.out.println(s);
- }
- }
复制代码 以上的输出结果是:
[Hello]
而s1 和 s2的地址肯定是不一样的。
所以它们比较的是值。
查阅api可以知道,HashSet从类 java.util.AbstractSet 继承了equals方法。 |