为什么Java中检测到的语言结果为空

Han*_* NR 4 java locale

我正在尝试在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"));
Run Code Online (Sandbox Code Playgroud)

小智 5

系统属性和java中的任何属性都在java应用程序的开头加载.

所以java将加载属性并将它们放在具有键值形式的哈希表中.

如果你进行语言格式属性调用,它将采用系统的语言并在哈希表中查找它.

如果在运行应用程序后更改属性,它将找不到它们并返回null.

而已.