布尔值JAVA_OPTIONS区分大小写吗?



我正在尝试为我的应用程序设置JAVA_OPTIONS

-Djava.net.preferIPv4Stack=true

我也可以将其设置为大写字母 T 的-Djava.net.preferIPv4Stack=True吗?案子重要吗?

在这种情况下,成为一名优秀的程序员优秀的设计师之间的区别很重要:

  • 一个好的程序员会确保这种参数化(-Djava.net.preferIPv4Stack=True)在当前环境中工作:例如,如果您使用的是 Open JDK 15,您将浏览源代码,您将看到使用该参数的类java.net.PlainSocketImpl委托 onBoolean.parseBoolean,它执行不区分大小写的解析。

  • 相反,一个好的设计师会确保设置一个参数化,以便在每个环境(Open JDK,Oracle JDK,版本15,未来版本,Windows,Linux等)上工作,坚持公共文档,其中指出必须使用"真"或"假"(或不存在)值。

总结:如果您使用的是 Open JDK 15,则"True"或"true"值之间没有区别,但您无法确定在未来的版本中这种差异是否重要。我建议您坚持使用允许的值。

要读取布尔系统属性,通常使用

Boolean.getBoolean("argument.name");

哪:

且仅当参数命名的系统属性时返回 true 存在并且等于字符串"true"。(从版本开始 JavaTM 平台的 1.0.2,此字符串的测试不区分大小写。

(参考资料)

这实际上取决于开发人员(开发人员也可以使用 System.getProperty 然后以他自己的方式将结果转换为布尔值),但我想说在大多数情况下,我认为它不区分大小写。

最新更新