Che*_*het 5 java system environment-variables
许多地方都建议不推荐使用System.getenv()JDK方法.许多地方都表示它已经恢复.
是否有更好的API提供在后续JDK中获取环境设置的功能?
或者System.getenv()仍然是获取环境变量/属性的首选方法?
System.getenv()并且System.getenv(String)在 Java 的早期被引入,然后在 Java 1.2(!) 中被弃用。
Java 5 恢复了它们(请参阅错误 4199068),并且由于在过去的十几年左右的时间里没有任何迹象表明这些方法会随处可见甚至被再次弃用,我认为可以安全地假设它们会继续存在并使用根据您的需要使用它们。
在Java 8 API 文档中,该方法并未被弃用。它引用了getenv(String)但没有其他替代方案。因为getenv()返回一个Map<String,String>,您可以get(String)从中调用来getenv(String)获取您正在寻找的值,否则null如果它没有定义。由于这些 API 文档具有权威性,您可以得出结论,getEnv()当前版本的 Java 中并未弃用这些 API,也没有比getenv(String). 鉴于该 API 是在 Java 1.5 中引入的,它也具有高度的向后兼容性。