Как получить действующий подсписок в Java?

У меня странная (я думаю) проблема в 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);
    }
}

run: Exception in thread "main" java.lang.ClassCastException: java.util.RandomAccessSubList не может быть преобразованным в java.util.ArrayList в javatest.JavaTest.main (JavaTest.java:17) Результат Java: 1

Как правильно создать подсписок?

Thx

25
задан George Kastrinis 31 May 2011 в 15:11
поделиться