Class
在 Java 7 中是否可以使用我手头的对象实例化具有泛型类型的匿名内部类?
这是我试图实例化的泛型类的简化版本:
abstract class DomainBuilder<E> {
private final Class<E> entityClass
public DomainBuilder() {
this.entityClass = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
...
}
当我指定要在编译时构建的类时创建一个匿名内部类可以正常工作:
DomainBuilder builder = new DomainBuilder<MyDomainClass>() {}
我希望能够做到这一点,以便我可以使用Class
我在运行时确定的变量,但还没有弄清楚如何:
Class clazz = MyDomainClass.class
...
DomainBuilder builder = new DomainBuilder<clazz>() {}
我也尝试过沿着这些思路创建方法,但没有运气:
Class clazz = MyDomainClass.class
DomainBuilder builder = builderFor(clazz)
public static DomainBuilder<T> builderFor(Class<T> t) {
return new DomainBuilder<T>(entityManager){}
}
这样的事情可能吗?