如何在Java中将String转换为语言环境

时间:2017-06-19 07:06:32

标签: java string locale

我需要将给定的字符串转换为语言环境。字符串有价值" fr_US"我需要将其转换为locale(在java.util.locale中)。

我在" org.apache.commons.lang.LocaleUtils"中找到了一个方法。转换,但我正在寻找一个转换为" java.util.locale"

String val = "fr_US";
locale l1 = LocaleUtils.toLocale(val);
// this converts into org.apache.commons.lang.LocaleUtils

2 个答案:

答案 0 :(得分:4)

你可以这样做:

String val = "fr_US";
String[] tab = val.split("_");
Locale locale = new Locale(tab[0], tab[1]);

或者,如果你硬编码val

Locale locale = new Locale("fr", "US");

同样在Locale我们有一个方法forLanguageTag,但作为参数,您必须传递BCP 47语言标记(使用-,而不是_)。

答案 1 :(得分:0)

如果您使用的是apache工具,那么正确的方法是:

Locale myLocale =  LocaleUtils.toLocale("fr_US");

相同
Locale myLocale = new Locale("fr", "US");