我有一个看起来像这样的课程:
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的类类型。例如,我只知道Key和Value类类型是String.class和Integer.class。有没有办法用这些信息实例化一个条目?如果没有,我该怎么做才能动态创建条目?
谢谢!
答案 0 :(得分:2)
程序就像
String key = getFromSomewhere();
Integer value = someMethodResult();
表示您在编译时知道的类型优于Object
。所以你可以做到
Entry<String,Integer> entry = new Entry<String,Integer>(key, value);
也是。没有&#34;在运行时不知道类型&#34;,您将始终知道实例至少为Object
,并且您也可以在泛型类中使用这些实例。您不需要使用具体的运行时类型。