gpt4 book ai didi

java - 使用 java.lang.Class 的实例创建参数化类的实例

转载 作者:行者123 更新时间:2023-11-30 07:58:48 26 4
gpt4 key购买 nike

假设我有一个参数化类

public class<K> MyClass {
private K val;

public K getVal() { return val; }

public void setVal(K val) { this.val = val; }
}

我的目标是能够使用我作为参数传递的参数创建此类的实例。该参数的类型为 java.lang.Class。类似的东西

public void createInstance(Class<?> klass) {
MyClass<klass> k = new MyKlass<>();
}

现在,我知道这是不正确的。我无法将变量 klass 作为参数传递给 MyClass。但是是否可以创建一个 MyClass 的实例,该实例使用 klass 变量表示的类进行参数化?

最佳答案

 is it possible create an instance of MyClass that is parameterized with the Class represented by the klass variable?

没有。

原因是,就您的程序而言,当它运行时,Foo<Bar> 之间没有区别。和一个 Foo<Baz> .

原始创建并转换。 任何其他解决方案都等同于此。

关于java - 使用 java.lang.Class 的实例创建参数化类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40065925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com