我需要从国家/地区代码中获取完整的国家/地区名称。
例如,对于荷兰,我需要国家/地区代码the Netherlands
中的NL
。
我以为我可以用Locale
代替:
Locale loc = new Locale("NL");
loc.getCountry();
但loc.getCountry();
为空。
对于如何做到这一点,请问? 提前谢谢!
答案 0 :(得分:78)
试试这个
Locale loc = new Locale("","NL");
loc.getDisplayCountry();
希望这会有所帮助。
答案 1 :(得分:23)
这应该有效:
Locale l = new Locale("", "NL");
String country = l.getDisplayCountry();
Locale的第一个参数是语言,在您的情况下无用。
答案 2 :(得分:5)
我想在上述答案中添加更多信息。
如果要为结果指定语言,则可以使用Locale("your language")
作为getDisplayCountry()
的参数。
例如:
(new Locale("","NL")).getDisplayCountry(new Locale("ZH"));
“ ZH”是中文的语言代码。您将获得“荷兰”,这是荷兰的中文名称。
您可以使用Locale("languages", "ISO-3166 code")
指定您的语言变体。
例如:
(new Locale("","NL")).getDisplayCountry(new Locale("ZH", "TW"));
Locale("ZH", "TW")
是指中文在台湾的变体(繁体中文)。它与中国大陆版本有很多差异。
您将获得“荷兰”,这是荷兰的繁体中文名称。
(即使您不懂中文,我认为两个名称中的第二个汉字也很明显是不同的。)
如果您未指定语言,则将以设备显示语言获得荷兰的名称,可以在电话设置中进行更改。代码是:
(new Locale("","NL")).getDisplayCountry();
您可以获得Android in this question支持的所有语言和变体的列表:
如果您使用的是Kotlin:
Locale("", "NL").getDisplayCountry(Locale("ZH"))
Locale("", "NL").getDisplayCountry(Locale("ZH", "TW"))
Locale("", "NL").displayCountry
答案 3 :(得分:0)
答案 4 :(得分:-1)
获取完整解决方案TelephonyManager(来自this solution):
statelessSession
.CreateSQLQuery("TRUNCATE TABLE " + SysCfg.ConfigurationManager.AppSettings["tabName"])
.ExecuteUpdate();