При использовании ArrayList (Коллекция c) для конструктора копирования я получаю две ошибки - PullRequest
0 голосов
/ 26 января 2020
public ListArrayListBased(ListArrayListBased < E > var) 

{

items = new ArrayList < E> (ArrayList(ListArrayListBased 
        < ? extends E > var));

}

Использование этой строки кода дает мне две ошибки.

  1. Подстановочный знак не разрешен в этом месте.
  2. Синтаксическая ошибка на токене "ListArrayListBased", :: Ожидается после токена

Мне удалось исправить второй, поставив :: after ListArrayListBased, но я понятия не имею, что это делало или как это работало. Я ищу больше объяснения ошибок, чем решений проблемы. Спасибо!

1 Ответ

1 голос
/ 26 января 2020

Это конструктор копирования, и вы пытаетесь назначить переменную-член items, которая предположительно является списком внутри вашего класса.

Итак, скопируйте список items из var :

items = new ArrayList<>(var.items);
...