2016-05-11 2 views
0

массива новообращенного в list и list преобразовать в arrayList

int[] array = new int[5]; 
    array[0] = 1;array[1] = 2;array[2] = 3;array[3] = 4;array[4] = 5; 
    List list = Arrays.asList(array); 
    ArrayList alist = new ArrayList(); 
    alist = (ArrayList) list; 

Исключение

Исключение в потоке "основного" java.lang .ClassCastException: java.util.Arrays $ ArrayList не может быть отброшен в java.util.ArrayList

ответ

2

Arrays.asList возвращает объект o е типа java.util.Arrays $ ArrayList, но это не распространяется ArrayList

просто изменить две последние строки:

List alist = list; 

и это будет хорошо

2

Класс Arrays имеет свой собственный private static class ArrayList<E> внутренне , Это не относится к классу java.util.ArrayList. Эти классы разные.

Вполне вероятно, что вы запутались этой строки в исходном коде:

return new ArrayList<>(a); 

Это просто создание вложенного класса. Там нет java.util.ArrayList импорта.

Смежные вопросы