[英]Instantiate generic class
我有一堂课,看起来像:
public class Entry<Key,Value> {
private Key k;
private Value v;
public Entry(Key k , Value v)
{
this.k = k;
this.v = v;
}
public Key getKey()
{
return k;
}
public Value getValue()
{
return v;
}
}
我正在尝试在我的应用程序运行时实例化此类的实例。 我只知道程序运行时的键和值的类类型。 例如,我只知道Key和Value类类型将是String.class和Integer.class。 有没有办法用此信息实例化一个条目? 如果没有,我该怎么做才能动态创建条目?
谢谢!
一个程序就像
String key = getFromSomewhere();
Integer value = someMethodResult();
意味着您在编译时确实知道一个比Object
更好的类型。 所以你可以做
Entry<String,Integer> entry = new Entry<String,Integer>(key, value);
也一样 没有“不知道运行时的类型”,您将始终知道实例至少是Object
并且您也可以在泛型类中使用该实例。 您不需要使用具体的运行时类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.