Выкидывает ошибку. Если убрать ограничение типа, тогда работает. Как исправить ошибку?
import java.util.Arrays;
class List<T extends Number> {
T[] list;
public List(T... list) {
this.list = list.clone();
}
@Override public String toString() {
return Arrays.toString(list);
}
public void add(T elem) {
System.out.println("Добавление нового элемента в каталог...");
T[] list1 = null;
if (this.list == null) {
list1 = (T[]) new Object[1];
list1[0] = elem;
} else {
list1 = (T[]) new Object[this.list.length + 1];
System.arraycopy(this.list, 0, list1, 0, this.list.length);
list1[list1.length - 1] = elem;
}
list = list1;
System.out.println("Новый элемент успешно добавлен в каталог!");
}
}
public class Test {
public static void main(String[] args) {
List<Number> l1 = new List<>(1, 2, 3, 4, 5);
System.out.println(l1);
l1.add(6);
System.out.println(l1);
}
}