java - 修复 Java newInstance() 已弃用

标签 java deprecated

来自 https://github.com/forcedotcom/wsc 的 Java 代码包含一些已弃用的代码来创建新实例

传输是一个接口(interface)

public interface Transport {

}

……

        Transport t = (Transport) config.getTransport().newInstance();
        t.setConfig(config);
        return t 

我尝试使用

修复的方法
        Transport t = (Transport) config.getTransport().getDeclaredConstructor().newInstance();
        t.setConfig(config);
        return t

这会创建一个警告“未经检查的对 getDeclaredConstructor(Class..) 的调用作为原始类型‘java.lang.Class’的成员”

我正在寻找一种更好的方法来修复这个已弃用的调用。

这段代码不是我写的。它提供与 Salesforce.com 的 Java SOAP 连接。我已经编写了自己的代码以将其与 Java 8 一起使用,但是,我认为更新代码以与 Java 9+ 一起使用会很有用

最佳答案

感谢您的宝贵建议

我已经按照以下方式应用了这些建议,以使其更易于阅读

        Class<?> transClass = config.getTransport();
        Transport t = (Transport) transClass.getDeclaredConstructor().newInstance();
        t.setConfig(this);

关于java - 修复 Java newInstance() 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56079042/

相关文章:

java - 使用 Java 8 Stream 解析 .csv 文件

php - mysql_connect() 在 PHP 5.6.5 中可用吗

java - Android LoaderManager 已弃用。怎么办?

kotlin - 如何输出Kotlin代码的弃用警告?

jsf - ManagedBean 类型已弃用

ios - Facebook 网络对话框中的预填充数据

java - 长期运行的统计过程 - 关于语言选择的想法?

java - 拆分字符串保留所有尾随的空元素

java - 单例和同步Servlet

java - 如何在javafx中嵌入PApplet?