Почему я не могу создать член generi c arraylist класса generi c? - PullRequest
0 голосов
/ 30 мая 2020

Я хочу добавить методы для возврата списка или конкретного элемента, и я хочу, чтобы он работал с любым общим c классом. Почему Java не разрешает это?

class ArrayListBuilder<E>{
    private ArrayList<E> a_list=new ArrayList<>();
}

1 Ответ

2 голосов
/ 30 мая 2020

Я попытался скомпилировать ваш код и получил эти ошибки

ArrayListBuilder.java:2: error: cannot find symbol
    private ArrayList<E> a_list=new ArrayList<>();
            ^
  symbol:   class ArrayList
  location: class ArrayListBuilder<E>
  where E is a type-variable:
    E extends Object declared in class ArrayListBuilder
ArrayListBuilder.java:2: error: cannot find symbol
    private ArrayList<E> a_list=new ArrayList<>();
                                    ^
  symbol:   class ArrayList
  location: class ArrayListBuilder<E>
  where E is a type-variable:
    E extends Object declared in class ArrayListBuilder
2 errors

Как видите, на самом деле есть две ошибки, первая означает, что вам нужно импортировать java.util.ArrayList . Как только вы это сделаете, ваш код компилируется нормально. Поэтому введите в первую строку вашего кода

import java.util.ArrayList;

TL; DR: решение вашей проблемы - это чтение всех сообщений об ошибках. Не только последний.

...