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

pja*_*ain 5 java string locale

我需要将给定的字符串转换为语言环境.String的值为"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
Run Code Online (Sandbox Code Playgroud)

Bye*_*Bye 5

你可以做:

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

或者,如果你硬编码你 val

Locale locale = new Locale("fr", "US");
Run Code Online (Sandbox Code Playgroud)

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