while(iter.hasNext()){

flag= true;

}                
如果是这样就不会了:
        while(iter.hasNext()){
p.setName(((Person)iter.next()).getName());
flag= true;

}这是为什么啊 。help!!!                  

解决方案 »

  1.   

    你不调用 next() 方法,迭代器就不会前进呀。
      

  2.   

    用法
    iterator.hasNext()
    返回
    一个布尔值,指示重复值中是 (true) 否 (false) 有其它实例。说明
    方法;指示重复值中是否存在其它实例。此方法通常在遍历重复值时用于 while 语句。示例
    以下示例使用 hasNext() 方法来控制对集合中项的重复值的遍历:on (click) {
        var myColl:mx.utils.Collection;
        myColl = _parent.thisShelf.MyCompactDisks;
        var itr:mx.utils.Iterator = myColl.getIterator();
        while (itr.hasNext()) {
            var cd:CompactDisk = CompactDisk(itr.next());
            var title:String = cd.Title;
            var artist:String = cd.Artist;
            trace("Title: "+title+" Artist: "+artist);
        }
    }