我有一个不可变的类,具有以下布局,
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;
}
.........
}
我在这里得到的错误是cannot instantiate type T
. 现在,我认为这可能type erasure
与Java有关。
我该如何克服呢?我想将传递给 addData 的参数的新副本添加到我的列表中。