Почему при такой записи компилятор не ругается:
private int arr[] = new int[16];
А при такой ругается? ⇒ Error:(2, 25) java: generic array creation
class MyList<T> {
private T arr[] = new T arr[16];
}
Потому что int - это примитивный тип, а в качестве <T> ожидается объект. В вашем случае:
class MyList<T> {
private T arr[] = (T[]) new Object[16];
}
Посмотрите конструктор класса ArrayList, в нем инициализация внутреннего массива происходит по аналогичному алгоритму. Примерно так:
public ArrayList(int initialCapacity) {
this.elementData = new Object[initialCapacity];
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости