我试图在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。
。