import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;public class IteratorReverse {
   public static Iterator reverse(List list){
      Collections.reverse(list);
      return list.iterator();
   }
   public static void main(String[] args) {
      List list = (List) new ArrayList();
      list.add("1"); list.add("2"); list.add("3");
      for(Object obj: reverse(list))
         System.out.println(obj + ",");
   }
}请说明一下错误的理由。

解决方案 »

  1.   

     List list = (List) new ArrayList();
    这个写法错误的吧
     List list = new ArrayList();
    或者
     List<String> list = new ArrayList<String>();
    List 是ArrayList的父接口 不需要强制转换
      

  2.   

    (List) 去掉也一样编译出错。
      

  3.   

    首先,你import错包了 应该是Java.util.List不是com.sun.xml.internal.bind.v2.schemagen.xmlschema.List
    其次.迭代器用法不对import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Iterator;
    import java.util.List;public class IteratorReverse {
    public static Iterator reverse(List list) {
    Collections.reverse(list);
    return list.iterator();
    } public static void main(String[] args) {
    List list = (List) new ArrayList();
    list.add("1");
    list.add("2");
    list.add("3");
    Iterator it = reverse(list);
    while(it.hasNext()){
    System.out.println(it.next() + ",");
    }
    }
    }
      

  4.   

    第一, 去掉强制转换,  
    第二, 引错包了,  应该是util 里的  List
      

  5.   

     你的List 包不对..不是java.util.List啊