java - 动态类加载(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 编译器?
解决方案
这是一个长期的弃用Class#newInstance
。
f_t_c.getConstructor().newInstance();
上面的调用将调用正常的(在这种情况下:默认)构造函数,它允许对构造进行所有处理,例如异常。
推荐阅读
- java - macOS 上 javafx 中的模态对话框
- azure - 为 cookie 设置安全标志 Symfony Azure
- terraform - 如何在阿里云的 terraform 语法上设置区域?
- visual-studio-2017 - 如何修复实体框架中的“CS0246”错误
- java - Vaadin Grid:如何有一个排名行
- excel-formula - Excel 2007 工作簿,其中每个工作表都是我只关心的上一个工作表的副本
- c - 代码在 Geany IDE 中工作,但在 HackerRanks 中出现分段错误。这样做的技术原因是什么?
- c# - 在表单上设计面板
- python-3.x - 故障检测的声音分析
- c# - 一键,两种不同的动作 asp.net core mvc