所以在我提出这个问题之前,我觉得我必须解释一下这个问题的具体情况:
我在通用类class
(其中T代表类型)中有通用嵌套ThreadHierarchy<P,C extends ExtendedThreadHandler<T>>
ExtendedThreadHandler<T>
(其中P表示父级和C,子级),我需要在其超类的主构造函数中创建TheradHierarechy
类的实例,如下所示:
//Thread State initializer
public ExtendedThreadHandler() {
this.setThreadClass((T)this);
this.setThreadName(getClassInstance().getClass().getSimpleName());
ThreadHierarchy th = new ThreadHierarchy<Thread.currentThread().getClass(), T>(true);
}
这个问题是在实例化类时,通用输入值只接受字符串文字,例如来自T
的预定义泛型类型ExtendedTheadHandler<T>
,因此,我无法输入方法调用或变量进入实例参数。
有没有办法:
A)通过定义要传入的新实例变量,将返回值(在本例中为类)输入到泛型类或方法中? (我无法弄清楚如何做到这一点)
OR
B)使用反射创建一个类的实例,可以手动分配P
和C
的值?