Tengo este extraño problema (creo) en Java. Tengo un ArrayList y quiero tomar una sublista. Pero obtengo la siguiente excepción.¿Cómo tomar una sublista válida en Java?
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);
}
}
de ejecución: Excepción en el hilo "principal" java.lang.ClassCastException: java.util.RandomAccessSubList no se puede convertir a java.util.ArrayList en javatest.JavaTest.main (JavaTest. java: 17) Java Resultado: 1
¿Cuál es la forma correcta de tomar una sublista?
Thx
Se adhieren a la lista de interfaz, no a la Implementación y estarán bien. Compruebe la respuesta por cero. –