如果提供的语言环境不存在,我需要设置一些默认语言环境。 但我没有得到,如何检查是否存在语言环境。
假设我通过了locale:xyz
,而不是检查locale xyz
是否存在。
请建议。
答案 0 :(得分:2)
什么是xyz
;它是语言代码,国家/地区代码还是区域设置的其他标识符?
您可以调用java.util.Locale.getAvailableLocales()
来获取运行程序的JVM支持的语言环境列表,并进行适当的比较以查明您要查找的语言环境是否在该列表中。
答案 1 :(得分:0)
尝试
if(!"US".equals(Locale.getDefault().getCountry())){
System.out.println(Locale.getDefault());
Locale.setDefault(Locale.US);
}
System.out.println(Locale.getDefault());
如果不是美国语言环境,则会设置它
答案 2 :(得分:0)
您还可以使用locale.getISO3Language();
方法。
如果它抛出MissingResourceException
,则该区域设置不可用,否则一切正常。
final Locale locale = new Locale("xx");
try {
locale.getISO3Language();
} catch (final MissingResourceException ex) {
throw new IllegalArgumentException("Not a valid locale.");
}