Local.getCountry()的描述说:
返回此语言环境的国家/地区代码,该代码可以为空字符串,大写的ISO 3166 2字母代码或UN M.49 3位数代码。
我想知道何时ISO 3166 2-letter code返回,何时返回UN M.49 3-digit code?
例:
Locale locale = new Locale("de", "AT");
Log.i(TAG, "country code: " + locale.getCountry()); //returns "AT" which is an ISO 3166 2-letter code
Run Code Online (Sandbox Code Playgroud)
返回类型取决于创建的 Locale 所在的国家/地区,因此取决于 Locale 的创建方式。IANA 指定国家/地区代码并支持 UN M.49 和 ISO 3166 2。
Locale.getCountry() 返回IANA List指定的代码,该代码可以是ISO 或 UN。搜索“类型:地区”:
示例 UN M.49:
Type: region
Subtag: 053
Description: Australia and New Zealand
Added: 2005-10-16
%%
Run Code Online (Sandbox Code Playgroud)
ISO 3166 2 示例:
Type: region
Subtag: VA
Description: Holy See (Vatican City State)
Added: 2005-10-16
%%
Run Code Online (Sandbox Code Playgroud)
来源: https: //developer.android.com/reference/java/util/Locale