检索泛型参数的Class对象

时间:2010-10-14 23:21:47

标签: java generics

我不确定这对this one是否是一个重复的问题,主要是因为我对仿制药有点新意,所以请原谅。

我有一个通用类:

public class MyGeneric<T extends Collection>
{
    private Class<T> genericType;

    public MyGeneric()
    {
        // Missing code here
    }
}

我的问题是:如何初始化genericType属性?基本上,我需要genericType来接收Class所有的T对象。如果TLinkedList,我希望genericType等于LinkedList.class

这一切都可能吗?我没有尝试过任何工作。

谢谢, 艾萨克

1 个答案:

答案 0 :(得分:4)

你可能不会喜欢这个答案,但你必须自己传递它。所以你的构造函数应该被声明:

public MyGeneric(Class<T> genericType)
{
    this.genericType = genericType;
}

由于类型擦除,如果没有这样的显示,则无法获得信息。