首页 > 解决方案 > 动态类加载(java 11)

问题描述

我有以下代码

ClassLoader classLoader = IFileTransferClient.class.getClassLoader();
Class f_t_c = classLoader.loadClass(fileGroupConfig.getFileTransferClientClassName());
fileTransferClient = (IFileTransferClient) f_t_c.newInstance();

编译器(Java 11)抱怨newInstance已弃用。

如何将上述代码转换为 Java 11 编译器?

标签: javajava-11

解决方案


这是一个长期的弃用Class#newInstance

f_t_c.getConstructor().newInstance();

上面的调用将调用正常的(在这种情况下:默认)构造函数,它允许对构造进行所有处理,例如异常。


推荐阅读