Collection list=null;
list=new ArrayList<SmsVote>();

SmsVote bean = new SmsVote();
bean.setVoteNumber(3l);
bean.setVote("2");
list.add(bean);


for(Iterator it=list.iterator();it.hasNext();){
System.out.print("bb");
}
上面这段代码居然会死循环?

解决方案 »

  1.   

    for(Iterator it=list.iterator();it.hasNext();){
    System.out.print("bb");
    }
    这段话没有改变list里的游标,一直处于第一个元素,是死循环
      

  2.   

    Iterator it=list.iterator;
    while(it.hasNext()) {
        bean=(SmsVote)it.next();
        System.out.println("VoteNumber:"+bean.getVoteNumber());
        System.out.println("Vote:"+bean.getVote());
    }
      

  3.   

    说错了。lz把我的回复删了吧,丢人。   it 没有往下走for(Iterator it=list.iterator();it.hasNext();){
       it.next();                   // 加上这么一句就对了。
    System.out.print("bb");
    }
      

  4.   

    it.hasNext()只是判断有没有下一个元素,
      it.next()才是取元素。取元素后才会指向下一个啊。