添加元素时先比较地址值,如果地址值相同再比较对象是否相同,那下面这段代码中难道不是添加了两个“java04”对象吗?它们的地址值为什么相同?
- import java.util.*;
- class HashSetDemo
- {
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
-
- public static void main(String[] args)
- {
- HashSet hs=new HashSet();
- hs.add("java01");
- hs.add("java02");
- hs.add("java03");
- hs.add("java04");
- hs.add("java04");//为什么这两个java04地址值相同?
- Iterator it=hs.iterator();
- while(it.hasNext())
- {
- sop(it.next());
- }
- }
- }
复制代码 |