import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
class A
{
public int i = 0;
}
public class Test {
public static  A [] a = new A[5];
public static void main(String[] args) {
Set<A> set = new HashSet<A>();
Iterator<A> it = set.iterator();
for(int i = 0;i < a.length;i ++)
{
a[i] = new A();
a[i].i = i;
set.add(a[i]);
}
while(it.hasNext())
{
System.out.println(it.next().i);
}
}
}
为什么得不到结果,用debug调试器观察的时候 it的next总是为null!这是怎么回事?

解决方案 »

  1.   

    import java.util.Set; 
    import java.util.HashSet; 
    import java.util.Iterator; 
    class A 

    public int i = 0; 

    public class Test { 
    public static  A [] a = new A[5]; 
    public static void main(String[] args) { 
    Set <A> set = new HashSet <A>(); 
    for(int i = 0;i < a.length;i ++) 

    a[i] = new A(); 
    a[i].i = i; 
    set.add(a[i]); 

    Iterator <A> it = set.iterator(); 
    while(it.hasNext()) 

    System.out.println(it.next().i);