【发布时间】:2012-06-04 23:07:09
【问题描述】:
所以我试图创建一个使用泛型扩展抽象类的类。 例如。
public abstract class Template<C extends Abstract>
但是,我需要在我的班级中实例化这个“C”。我想我也许可以这样做:
C s = (C) ((C)new Object()).getClass().getConstructor(Known.class,AnotherKnown.class).newInstance(objectOfKnownType,objectOfAnotherKnownType);
所以我的问题基本上是这是否可能。我感觉像
((C) new Object()).getClass()
可能会给我一些问题。
如果我把它改成:
C a;
C s = (C) (a.getClass().getConstructor( ... ).newInstance( ... ));
【问题讨论】:
-
是的,它“可能”会给您带来一些问题。
标签: java generics object casting instantiation