Java泛型与反思

Geo*_*nn. 1 java generics reflection

这可能是一个基本问题,但我可以做这样的事情:

Class myClass = Class.forName("Integer");
SomethingSimple<myClass> obj;
Run Code Online (Sandbox Code Playgroud)

SomethingSimple是一个非常简单的泛型类:

class SomethingSimple<T>
{
    T value;
    SomethingSimple() {}
    public void setT(T val)
    {
        value = val;
    }
    public T getT()
    {
        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码是不正确的,因为myClass是Class类型的对象,并且需要一个类.问题是如何实现这一目标.我阅读了有关泛型反射的其他主题,但它们关注泛型类如何知道类型.

Isa*_*ett 5

不,你做不到.重点是什么?泛型为您提供编译时类型检查,如果在运行时之前不知道该类,则不会获得任何结果.