subList的异常

Exception in thread "main" java.lang.ClassCastException: java.util.RandomAccessSubList cannot be cast to java.util.ArrayList
at com..test.TestDemo.main(TestDemo.java:14)

List类在调用subList(int from,int to);函数时出现 java.lang.ClassCastException异常,

View Code
public static void main(String[] args) { 
List<Integer> list=new ArrayList<Integer>(); 
for(int i=0;i<10;i++){ 
list.add(i); 
} 
list=(ArrayList<Integer>) list.subList(0,1);
//     list=new ArrayList<Integer>(list.subList(0,2));

for(int temp:list){ 
System.out.println(temp+"\t"); 
} 
}
}

 具体操作:

 list=new ArrayList<Integer>(list.subList(0,2));
  或者
list=list.subList(0,2);

 

原因是subList在返回时会返回一个java.util.RandomAccessSubList   ,所以强转会不成功的。

 

 

 

 

 

 

 

posted @ 2013-01-07 14:04  爬上树的山羊  阅读(239)  评论(0编辑  收藏  举报