gpt4 book ai didi

Java Locale 对象范围是线程还是应用程序?

转载 作者:行者123 更新时间:2023-12-03 12:57:16 25 4
gpt4 key购买 nike

我正在编写一个多线程 Java 应用程序,其中每个用户请求都会创建一个新线程,该线程应该根据用户偏好使用不同的语言环境。这不是 Web 应用程序,因此 session 的概念在此处不适用。

有什么方法可以在线程范围内设置默认的语言环境 - Activity 的语言环境?我一直在文档中查看它,但它没有说明默认语言环境是否适用于线程、类加载器、进程或整个 JVM。

谢谢。问候。

最佳答案

来自 Locale.getDefault 的 Javadoc :

Gets the current value of the default locale for this instance of the Java Virtual Machine.



默认语言环境绝对是 JVM 范围的变量,不应用于尝试跟踪用户的语言环境。你应该看看 Java Internationalization讨论如何使用这些类。

在您的情况下,您似乎可以使用 ThreadLocal<Locale> ,见 ThreadLocal .

关于Java Locale 对象范围是线程还是应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com