如果我指定一个返回泛型类的方法,我该怎么做才能动态地指定泛型类的类型?例如 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个赞
通用语法仅适用于编译时。泛型类或方法中的所有类型在运行时都不可用。这称为类型擦除。所以你不能做你想做的事,至少不能这样。
根据您尝试解决的原始问题,您或许可以改用通配符。
添加回答
举报
0/150
提交
取消