通过反射设置类的泛型参数?

时间:2015-12-29 18:59:41

标签: java class generics reflection parameters

所以在我提出这个问题之前,我觉得我必须解释一下这个问题的具体情况:

我在通用类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)使用反射创建一个类的实例,可以手动分配PC的值?

0 个答案:

没有答案