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

标签 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"));

最佳答案

系统属性和 java 中的任何属性都在 java 应用程序启动时加载。

所以java会加载属性并以键值形式将它们放入哈希表中。

如果您进行语言格式属性调用,它将获取系统的语言并在哈希表中查找它。

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

就是这样。

关于java - 为什么在 Java 中检测到的语言结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25255284/

相关文章:

java - 递归归并排序仅返回 ArrayList 的前半部分

c++ - 使用特殊(德语)字符对 char * 进行排序?

c# - 如果不在 Thread.CurrentCulture 中,我在哪里可以找到用户文化

Python - 如何设置法语语言环境?

html - 如何将 Chrome 设置为使用句点作为小数而不是逗号?

java - EJB:自定义身份验证和授权

java - Java ArrayList 迭代器中可能的内存泄漏

java - 通用 openid -connect 客户端库 (server-keycloak)

java - 如何将 Time4J 持续时间转换为分钟数?

Bash/Date/法语本地环境