java.util.RandomAccessSubList cannot be cast to java.util.ArrayList解决办法

来源:互联网 发布:网络教育会计要考什么 编辑:程序博客网 时间:2024/05/16 10:00
public class subListTest {     public static void main(String[] args){        ArrayList list = new ArrayList();               list.add(1);        list.add(2);        list.add(3);        list.add(4);        list.add(5);                List listsub = list.subList(0, 3);        System.out.println(listsub);    }}

 List listsub = list.subList(0, 3); 如果改成下面的式子

     ArrayList listsub = list.subList(0, 3);就会报标题的java.util.RandomAccessSubList cannot be cast to java.util.ArrayList错误。

原因分析是:subList返回的是list,问题就是在subList方法中

public List<E> subList(int fromIndex, int toIndex) {        return (this instanceof RandomAccess ?                new RandomAccessSubList<E>(this, fromIndex, toIndex) :                new SubList<E>(this, fromIndex, toIndex));    }







0 0
原创粉丝点击