为了账号安全,请及时绑定邮箱和手机立即绑定

如何动态指定 Java 泛型类

如何动态指定 Java 泛型类

当年话下 2021-08-19 21:21:07
如果我指定一个返回泛型类的方法,我该怎么做才能动态地指定泛型类的类型?例如  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();    }}但是上面的代码不行。我该怎么做才能做到这一点?
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

通用语法仅适用于编译时。泛型类或方法中的所有类型在运行时都不可用。这称为类型擦除。所以你不能做你想做的事,至少不能这样。

根据您尝试解决的原始问题,您或许可以改用通配符。


查看完整回答
反对 回复 2021-08-19
  • 2 回答
  • 0 关注
  • 431 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信