我正在创建一个具有通用类型的函数,该通用类型是一个抽象类型,我需要实例化它。以下代码将更清楚地解释这一点:
public <T extends AbstractRow> foo(){//no I did not actually name the function foo
ArrayList<T> arr=new ArrayList<T>();
arr.add(new T(...)); //cant instantiate objects of abstract class
}
基本上我想强制执行“T extends AbstractRow但它本身不是抽象的”。
我意识到您无法实例化抽象类,因此我想建议一种解决方法或其他方法,以允许我模仿创建泛型类型对象的行为。
AbstractRow
子类,你可以这样做:T t = (T) new SubClassName();
- Christian Tapia