我在Java中遇到了一个奇怪的问题。 我有一个ArrayList,想要取其中的子列表。 但我却得到了以下异常:
package javatest;
import java.util.ArrayList;
public class JavaTest {
public static void main(String[] args) {
ArrayList<Integer> alist = new ArrayList<Integer>();
alist.add(10);
alist.add(20);
alist.add(30);
alist.add(40);
alist.add(50);
alist.add(60);
alist.add(70);
alist.add(80);
ArrayList<Integer> sub = (ArrayList<Integer>) alist.subList(2, 4);
for (Integer i : sub)
System.out.println(i);
}
}
运行时出现异常:“main”线程中的java.lang.ClassCastException:java.util.RandomAccessSubList无法转换为java.util.ArrayList,在javatest.JavaTest.main(JavaTest.java:17)处;Java结果:1
如何正确地获取子列表?
谢谢