java - 实例化泛型类

标签 java generics

我有一个类,看起来像:

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。有没有办法用这些信息实例化一个条目?如果没有,我该怎么做才能动态创建条目?

谢谢!

最佳答案

程序就像

String key = getFromSomewhere();
Integer value = someMethodResult();

意味着您在编译时确实知道一种比Object更好的类型。所以你可以这样做

Entry<String,Integer> entry = new Entry<String,Integer>(key, value);

还有。不存在“运行时不知道类型”的情况,您将始终知道实例至少是 Object 并且这也可以在泛型类中使用。您不需要使用具体的运行时类型。

关于java - 实例化泛型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26792859/

相关文章:

Java.net 缺少类吗?

java - 如果方法的返回类型是 Void,我应该返回什么? (不是无效的!)

scala - Spark AccumulatorParam 通用参数

c# - 将类型转换为 DBSet<>

java - 类型注释属于有界通配符的什么位置?

c# - 类实现抽象类的通用类型约束

java - JDK 中的哪个类创建 JRMI ProtocolAck?

java - 如何在冒泡排序中修复java中的 'java.lang.ArrayOutOfBound exception'

java - XML验证: Am I Doing It Right?

java - String.replaceAll() 和\n 换行符