java.util.Locale不识别奥地利

java.util.Locale不识别奥地利,java,locale,Java,Locale,需要识别奥地利的区域设置id。如前所述,我曾尝试过使用de_AT/AT/AT_AT 但似乎语言环境API不识别这些语言环境,有指针吗 尝试使用de_AT时出现异常: java.util.MissingResourceException: Couldn't find 3-letter language code for de_at at java.util.Locale.getISO3Language(Unknown Source) at com.test.rupesh.CQIns

需要识别
奥地利
的区域设置id。如前所述,我曾尝试过使用
de_AT
/
AT
/
AT_AT

但似乎语言环境API不识别这些语言环境,有指针吗

尝试使用
de_AT
时出现异常:

java.util.MissingResourceException: Couldn't find 3-letter language code for de_at
    at java.util.Locale.getISO3Language(Unknown Source)
    at com.test.rupesh.CQInstanceHelper.language(Main.java:74)
    at com.test.rupesh.Main.main(Main.java:20)

使用此选项检查可用位置

System.out.println(Arrays.asList(Locale.getAvailableLocales()));

你到底想和德鲁干什么

Locale austria = new Locale("de", "AT");
System.out.println("Locale=" + austria);
System.out.println("ISO3 language=" + austria.getISO3Language());
打印出:

Locale=de_AT
ISO3 language=deu
Locale=de_at
Exception in thread "main" java.util.MissingResourceException: Couldn't find 3-letter language code for de_at
    at java.util.Locale.getISO3Language(Locale.java:568)
    at Scribble.main(Test.java:10)
编辑:不要以这种方式实例化区域设置:

Locale austria = new Locale("de_AT");
System.out.println("Locale=" + austria);
System.out.println("ISO3 language=" + austria.getISO3Language());
打印出:

Locale=de_AT
ISO3 language=deu
Locale=de_at
Exception in thread "main" java.util.MissingResourceException: Couldn't find 3-letter language code for de_at
    at java.util.Locale.getISO3Language(Locale.java:568)
    at Scribble.main(Test.java:10)

您是否尝试过“de AT”?是的,即使这样也会导致相同的异常。deu或AUT??因为上面说,3个字母的语言代码丢失了?