许多地方都建议不推荐使用System.getenv()JDK方法。许多地方都表示它已经恢复。
是否有更好的API提供在后续JDK中获取环境设置的功能?
或者System.getenv()仍然是获取环境变量/属性的首选方法吗?
答案 0 :(得分:4)
System.getenv()
和System.getenv(String)
是在java的早期引入的,然后在Java 1.2(!)中弃用。
Java 5恢复了它们(参见bug 4199068),并且由于没有任何迹象表明这些方法在过去的十几年内会在任何地方或甚至再次被弃用,我认为可以安全地假设它们是留下来,并在需要时使用它们。
答案 1 :(得分:1)
在Java 8 API docs中,不推荐使用该方法。它引用了getenv(String)
,但没有其他选择。由于getenv()
会返回Map<String,String>
,您可以get(String)
,只需致电getenv(String)
即可获得您正在寻找的值null
没有定义。由于这些API文档具有权威性,因此您可以得出结论:在当前版本Java中不会弃用getEnv()
,除了getenv(String)
之外,还有更好的推荐替代方案。鉴于该API是在Java 1.5中引入的,它也是高度向后兼容的。