Nie można utworzyć instancji ogólnego typu danych w klasie
Mam niezmienną klasę o następującym układzie,
public final class A <T> {
private ArrayList<T> myList;
private A(){
myList = new ArrayList<T>();
}
public A<T> addData(T t){
A newOb = // make a new list and instantiate using overloaded constructor
T newT = new T(); ***********ERROR HERE*************
newOb.myList.add(newT);
return newOb;
}
.........
}
Błąd, który tutaj dostajęcannot instantiate type T
. Myślę, że to może być związanetype erasure
w Javie.
Jak mogę to pokonać? Chcę dodać nową kopię argumentu przekazywanego do addData do mojej listy.