java - 为什么 Java 没有众所周知的系统属性名称的常量?

标签 java api properties constants

<分区>

java.lang.System 类定义了一些 well-known properties .

例如,您可以通过查找“java.io.tmpdir”属性来获取JVM的临时目录:

... = System.getProperty("java.io.tmpdir");

我不明白的是为什么这些属性没有定义为常量(例如在 java.lang.System 类中)。这比使用文字字符串更不容易出错。换句话说,我希望能够做到这一点:

... = System.getProperty(System.JAVA_IO_TMPDIR);

知道为什么没有这样做吗?它甚至可以添加到 Java 的 future 版本中,而不会破坏向后兼容性。还是我遗漏了一些明显的东西?

最佳答案

System.getProperties() 下记录的所有属性是标准化的——每个 Java SE 实现都必须提供它们。 Java 7 没有理由不为这些标准属性名称引入常量。它不会阻止引入新属性。我认为只是没有人认为值得付出努力(我认为即使是对核心 Java API 的微不足道的添加也必须经过流程)。

关于java - 为什么 Java 没有众所周知的系统属性名称的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/779825/

相关文章:

java - Scout 在启动 SWT 时崩溃

java - 在 Tomcat 中访问 externalize application.properties for Spring boot 应用程序?

Mac OS X 上的 Java System.getProperty ("user.dir")

java - 以编程方式检索 Bean

java - 试图理解快速排序的复杂性

java - 如何创建 onitemclick 监听器以打开另一个 ListView

ruby-on-rails - Ruby Google API key 和分析

javascript - 调用 api 时出现错误已被 CORS 策略阻止

javascript - jQuery JSON API 调用不起作用?

reflection - 为什么反射不在Struct中设置属性?