如何动态指定 Java 泛型类

如果我指定一个返回泛型类的方法,我该怎么做才能动态地指定泛型类的类型?例如


  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();

    }



}

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


当年话下
浏览 432回答 2
2回答

一只斗牛犬

通用语法仅适用于编译时。泛型类或方法中的所有类型在运行时都不可用。这称为类型擦除。所以你不能做你想做的事,至少不能这样。根据您尝试解决的原始问题,您或许可以改用通配符。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java