2014-09-24 4 views
-1
import java.util.Arrays; 
import java.util.List; 
import java.util.Stack; 

public class CreateStack { 

    public static void main(String[] args) { 

     Stack st = new Stack(); 
     st.push("lulz"); 

     int[] paco = { 1, 2, 3, 4, 5 }; 
     List<Integer> list = new List<Integer>(Arrays.asList(paco)); 

    } 

} 

Попытка CONVER массива в список, и я получаю эту ошибку (Невозможно создать список типов) на этом простом куске кода в строке списка, и я подозреваемый, что моя IDE виновата, возможно, что-то не так в библиотеках.Невозможно создать список типов <Integer>

+0

Список - это интерфейс. вы не можете создать для этого объект. Вместо нового списка используйте новый ArrayList. – Ajit

+0

@UwePlonus Вы правы, удалили этот комментарий. Должен подумать, прежде чем я свяжусь ... –

ответ

2

Список представляет собой интерфейс, вы не можете создать его экземпляр, вы можете захотеть использовать ArrayList, который является реализован класс List

List<Integer> list = new List<Integer>(Arrays.asList(paco)); 

Должно быть

List<Integer> list = new ArrayList<Integer>(Arrays.asList(paco)); 
+0

Список list = new ArrayList (Arrays.asList (paco)); дает мне \t - Невозможно создать список типов \t - Конструктор Список_массивов (список ) не определено – Dimoff

+1

К сожалению, 2 upvotes для ответа, который просто не работает! 'Arrays.asList (T ...)' ожидает некоторый массив объектов - задан массив примитивов, он построит «Список », а не желаемый «Список » –

2

List является interface вы можете» t instantiate it. Вы можете использовать один из вариантов List, ArrayList.

+0

Вы попробовали это? Не скомпилируй, см. Ответ Таска! –

+0

Хм, может быть, я сегодня настроен на настроение на волосы: ОК, не более неприемлемый код; но опять же не так много ответа осталось ... –

2

Список - это интерфейс, который вы не можете создать ссылку на интерфейс, кроме того, вы можете напрямую использовать.

Integer[] paco = { 1, 2, 3, 4, 5 };//Use Integer not int 
List<Integer> l = Arrays.asList(paco); 

Как public static <T> List<T> asList(T... a) метод возвращает List типа T и для примитивного массива это int[] но Integer[] возвращает Integer.

+0

Что мне делать с конструктором ArrayList (Список ) не определено – Dimoff

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