【问题标题】:System.getenv() method - deprecated or not?System.getenv() 方法 - 是否已弃用?
【发布时间】:2015-09-19 13:00:03
【问题描述】:

很多地方表明System.getenv() JDK 方法已被弃用。许多地方表明它已恢复。

是否有更好的 API 提供在后续 JDK 中获取环境设置的功能?

或者System.getenv() 仍然是获取环境变量/属性的首选方式吗?

【问题讨论】:

    标签: java environment-variables system deprecated


    【解决方案1】:

    System.getenv()System.getenv(String) 在 Java 的早期引入,然后在 Java 1.2(!) 中被弃用。

    Java 5 恢复了它们(参见 bug 4199068),并且由于在过去十几年左右没有任何迹象表明这些方法会在任何地方使用,甚至再次被弃用,我认为可以安全地假设它们在这里留下来,根据需要使用它们。

    【讨论】:

      【解决方案2】:

      Java 8 API docs 中,该方法未被弃用。它引用了getenv(String),但没有其他选择。由于getenv() 返回一个Map<String,String>,您可以从中只使用get(String),您也可以调用getenv(String) 来获取您正在寻找的值,否则null 如果未定义它。由于这些 API 文档是权威的,您可以得出结论,getEnv() 在当前版本的 Java 中没有被弃用,也没有比getenv(String) 更好的推荐替代方案。鉴于该 API 是在 Java 1.5 中引入的,它也是高度向后兼容的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-29
        • 1970-01-01
        • 2013-06-29
        • 1970-01-01
        • 1970-01-01
        • 2019-02-11
        • 2021-11-15
        • 2023-03-08
        相关资源
        最近更新 更多