Locale setDefault()Java中的风险

时间:2013-08-02 02:32:32

标签: java setdefault

我有一个可以在英语和德语之间切换语言的应用程序。在德语时,我希望货币显示将自动转换为德语格式。因此,在我的程序中,我必须检查区域设置,然后根据所选语言转换货币。我选择使用locale.setDefault(),但我不确定这是否会有任何风险,基于我发现的以下声明。有人可以为此提供建议吗?

声明: “由于更改默认语言环境可能会影响许多不同的功能区域,因此只有在调用者准备重新初始化在同一Java虚拟机中运行的区域设置敏感代码时才应使用此方法。”

感谢。

1 个答案:

答案 0 :(得分:1)

该警告意味着如果您已经拥有基于不同语言环境初始化的代码,那么它将不会神奇地听到语言环境更改和更新。例如,如果您已经用英语设置了标题栏和菜单以及按钮标签,然后拨打setDefault(Locale.GERMANY),则所有文本仍为英文。您的示例听起来不会在启动后更改区域设置,因此请确保在执行任何取决于区域设置的操作之前提前调用setDefault