我不确定这对this one是否是一个重复的问题,主要是因为我对仿制药有点新意,所以请原谅。
我有一个通用类:
public class MyGeneric<T extends Collection>
{
private Class<T> genericType;
public MyGeneric()
{
// Missing code here
}
}
我的问题是:如何初始化genericType
属性?基本上,我需要genericType
来接收Class
所有的T
对象。如果T
是LinkedList
,我希望genericType
等于LinkedList.class
。
这一切都可能吗?我没有尝试过任何工作。
谢谢, 艾萨克
答案 0 :(得分:4)
你可能不会喜欢这个答案,但你必须自己传递它。所以你的构造函数应该被声明:
public MyGeneric(Class<T> genericType)
{
this.genericType = genericType;
}
由于类型擦除,如果没有这样的显示,则无法获得信息。