我需要将给定的字符串转换为语言环境。字符串有价值" 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
答案 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");