gpt4 book ai didi

java - 如何动态指定 Java 泛型类

转载 作者:行者123 更新时间:2023-11-29 08:26:47 25 4
gpt4 key购买 nike

如果我指定一个返回泛型类的方法,除了动态指定泛型类的类型之外,我该怎么做?例如

  try {
Class c =Class.forName(keytype);
Class d= Class.forName(valuetype);
KafkaConsumer<c,d> consumerconsumer = new KafkaConsumer<c,d>(PropertiesUtil.getPropsObj(configPath));
return consumer ;
} catch (ClassNotFoundException e) {
e.printStackTrace();
}


}

但是上面的代码不行。我该怎么做才能做到这一点?

最佳答案

通用语法只在编译时有用。泛型类或方法中的任何类型在运行时都不可用。这叫做 type erasure .所以你不能做你想做的事,至少不能这样。

根据您要解决的原始问题,您可以使用 wildcards相反。

关于java - 如何动态指定 Java 泛型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088382/

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