Дженерики. Ошибка Error:(2, 25) java: generic array creation

196
16 сентября 2021, 02:20

Почему при такой записи компилятор не ругается:

private int arr[] = new int[16];

А при такой ругается? ⇒ Error:(2, 25) java: generic array creation

class MyList<T> {
    private T arr[] = new T arr[16];
}
Answer 1

Потому что int - это примитивный тип, а в качестве <T> ожидается объект. В вашем случае:

class MyList<T> {
    private T arr[] = (T[]) new Object[16];
}

Посмотрите конструктор класса ArrayList, в нем инициализация внутреннего массива происходит по аналогичному алгоритму. Примерно так:

public ArrayList(int initialCapacity) {
    this.elementData = new Object[initialCapacity];
}
READ ALSO
Выборка из трёх связанных таблиц

Выборка из трёх связанных таблиц

Есть 3 таблицы (postgreSQL):

144
Данные MutableLiveData из Spinner возвращают null

Данные MutableLiveData из Spinner возвращают null

Я использую паттерн MVVM и DataBinding в своём проектеПередать значения в Spinner мне удалось, но вот получить из оттуда - проблема

176
как из url вырезать mail и токен на js без регулярки?

как из url вырезать mail и токен на js без регулярки?

например в переменную mail="gogglepost@gmailcom" и token="$23y$113$px/m3Gi54234dgdfd2m1

167