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



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));
    }

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM