我试图在 Windows 中获取语言格式,但是当我将显示格式更改为 English (United States)
或 English (United Kingdom)
时,返回的System.getProperty()
的值为 null
。对于英语以外的语言,我得到了正确的结果。
我正在使用以下代码:
System.out.println(System.getProperty("user.language.format"));
System.out.println(System.getProperty("user.country.format"));
最佳答案
系统属性和 java 中的任何属性都在 java 应用程序启动时加载。
所以java会加载属性并以键值形式将它们放入哈希表中。
如果您进行语言格式属性调用,它将获取系统的语言并在哈希表中查找它。
如果您在运行应用程序后更改属性,它将找不到它们并返回 null。
就是这样。
关于java - 为什么在 Java 中检测到的语言结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25255284/