Java如何获取国家名称列表?

使用下面的代码,您可以通过使用Java中的locale类实现获得国家名称及其ISO代码的列表。

package org.nhooo.example.util;

import java.text.Collator;
import java.util.*;

public class CountryList {
    public static void main(String[] args) {
        // 用来存储我们国家对象的集合
        List<Country> countries = new ArrayList<Country>();

        // 获取ISO国家/地区,创建“国家/地区”对象,然后
        // 存储在集合中。
        String[] isoCountries = Locale.getISOCountries();
        for (String country : isoCountries) {
            Locale locale = new Locale("en", country);
            String iso = locale.getISO3Country();
            String code = locale.getCountry();
            String name = locale.getDisplayCountry();

            if (!"".equals(iso) && !"".equals(code) && !"".equals(name)) {
                countries.add(new Country(iso, code, name));
            }
        }

        // 按名称对国家/地区排序,然后显示内容
        // 国家集合对象。
        Collections.sort(countries, new CountryComparator());

        for (Country country : countries) {
            System.out.println(country);
        }
    }

    /**
     * Country pojo class.
     */
    static class Country {
        private String iso;
        private String code;
        private String name;

        Country(String iso, String code, String name) {
            this.iso = iso;
            this.code = code;
            this.name = name;
        }

        public String toString() {
            return iso + " - " + code + " - " + name.toUpperCase();
        }
    }

    /**
     * CountryComparator class.
     */
    private static class CountryComparator implements Comparator<Country> {
        private Comparator<Object> comparator;

        CountryComparator() {
            comparator = Collator.getInstance();
        }

        public int compare(Country c1, Country c2) {
            return comparator.compare(c1.name, c2.name);
        }
    }
}

以下是我们列出的国家名单:

ISOCODENAME
AFGAFAFGHANISTAN
ALAAXÅLAND ISLANDS
ALBALALBANIA
DZADZALGERIA
ASMASAMERICAN SAMOA
ANDADANDORRA
AGOAOANGOLA
AIAAIANGUILLA
ATAAQANTARCTICA
ATGAGANTIGUA AND BARBUDA
ARGARARGENTINA
ARMAMARMENIA
ABWAWARUBA
AUSAUAUSTRALIA
AUTATAUSTRIA
AZEAZAZERBAIJAN
BHSBSBAHAMAS
BHRBHBAHRAIN
BGDBDBANGLADESH
BRBBBBARBADOS
BLRBYBELARUS
BELBEBELGIUM
BLZBZBELIZE
BENBJBENIN
BMUBMBERMUDA
BTNBTBHUTAN
BOLBOBOLIVIA
BESBQBONAIRE, SINT EUSTATIUS AND SABA
BIHBABOSNIA AND HERZEGOVINA
BWABWBOTSWANA
BVTBVBOUVET ISLAND
BRABRBRAZIL
IOTIOBRITISH INDIAN OCEAN TERRITORY
VGBVGBRITISH VIRGIN ISLANDS
BRNBNBRUNEI
BGRBGBULGARIA
BFABFBURKINA FASO
BDIBIBURUNDI
KHMKHCAMBODIA
CMRCMCAMEROON
CANCACANADA
CPVCVCAPE VERDE
CYMKYCAYMAN ISLANDS
CAFCFCENTRAL AFRICAN REPUBLIC
TCDTDCHAD
CHLCLCHILE
CHNCNCHINA
CXRCXCHRISTMAS ISLAND
CCKCCCOCOS ISLANDS
COLCOCOLOMBIA
COMKMCOMOROS
COGCGCONGO
COKCKCOOK ISLANDS
CRICRCOSTA RICA
CIVCICÔTE D’IVOIRE
HRVHRCROATIA
CUBCUCUBA
CUWCWCURAÇAO
CYPCYCYPRUS
CZECZCZECH REPUBLIC
DNKDKDENMARK
DJIDJDJIBOUTI
DMADMDOMINICA
DOMDODOMINICAN REPUBLIC
ECUECECUADOR
EGYEGEGYPT
SLVSVEL SALVADOR
GNQGQEQUATORIAL GUINEA
ERIERERITREA
ESTEEESTONIA
ETHETETHIOPIA
FLKFKFALKLAND ISLANDS
FROFOFAROE ISLANDS
FJIFJFIJI
FINFIFINLAND
FRAFRFRANCE
GUFGFFRENCH GUIANA
PYFPFFRENCH POLYNESIA
ATFTFFRENCH SOUTHERN TERRITORIES
GABGAGABON
GMBGMGAMBIA
GEOGEGEORGIA
DEUDEGERMANY
GHAGHGHANA
GIBGIGIBRALTAR
GRCGRGREECE
GRLGLGREENLAND
GRDGDGRENADA
GLPGPGUADELOUPE
GUMGUGUAM
GTMGTGUATEMALA
GGYGGGUERNSEY
GINGNGUINEA
GNBGWGUINEA-BISSAU
GUYGYGUYANA
HTIHTHAITI
HMDHMHEARD ISLAND AND MCDONALD ISLANDS
HNDHNHONDURAS
HKGHKHONG KONG
HUNHUHUNGARY
ISLISICELAND
INDININDIA
IDNIDINDONESIA
IRNIRIRAN
IRQIQIRAQ
IRLIEIRELAND
IMNIMISLE OF MAN
ISRILISRAEL
ITAITITALY
JAMJMJAMAICA
JPNJPJAPAN
JEYJEJERSEY
JORJOJORDAN
KAZKZKAZAKHSTAN
KENKEKENYA
KIRKIKIRIBATI
KWTKWKUWAIT
KGZKGKYRGYZSTAN
LAOLALAOS
LVALVLATVIA
LBNLBLEBANON
LSOLSLESOTHO
LBRLRLIBERIA
LBYLYLIBYA
LIELILIECHTENSTEIN
LTULTLITHUANIA
LUXLULUXEMBOURG
MACMOMACAO
MKDMKMACEDONIA
MDGMGMADAGASCAR
MWIMWMALAWI
MYSMYMALAYSIA
MDVMVMALDIVES
MLIMLMALI
MLTMTMALTA
MHLMHMARSHALL ISLANDS
MTQMQMARTINIQUE
MRTMRMAURITANIA
MUSMUMAURITIUS
MYTYTMAYOTTE
MEXMXMEXICO
FSMFMMICRONESIA
MDAMDMOLDOVA
MCOMCMONACO
MNGMNMONGOLIA
MNEMEMONTENEGRO
MSRMSMONTSERRAT
MARMAMOROCCO
MOZMZMOZAMBIQUE
MMRMMMYANMAR
NAMNANAMIBIA
NRUNRNAURU
NPLNPNEPAL
NLDNLNETHERLANDS
ANTANNETHERLANDS ANTILLES
NCLNCNEW CALEDONIA
NZLNZNEW ZEALAND
NICNINICARAGUA
NERNENIGER
NGANGNIGERIA
NIUNUNIUE
NFKNFNORFOLK ISLAND
MNPMPNORTHERN MARIANA ISLANDS
PRKKPNORTH KOREA
NORNONORWAY
OMNOMOMAN
PAKPKPAKISTAN
PLWPWPALAU
PSEPSPALESTINE
PANPAPANAMA
PNGPGPAPUA NEW GUINEA
PRYPYPARAGUAY
PERPEPERU
PHLPHPHILIPPINES
PCNPNPITCAIRN
POLPLPOLAND
PRTPTPORTUGAL
PRIPRPUERTO RICO
QATQAQATAR
REUREREUNION
ROUROROMANIA
RUSRURUSSIA
RWARWRWANDA
BLMBLSAINT BARTHÉLEMY
SHNSHSAINT HELENA
KNAKNSAINT KITTS AND NEVIS
LCALCSAINT LUCIA
MAFMFSAINT MARTIN
SPMPMSAINT PIERRE AND MIQUELON
VCTVCSAINT VINCENT AND THE GRENADINES
WSMWSSAMOA
SMRSMSAN MARINO
STPSTSAO TOME AND PRINCIPE
SAUSASAUDI ARABIA
SENSNSENEGAL
SRBRSSERBIA
SYCSCSEYCHELLES
SLESLSIERRA LEONE
SGPSGSINGAPORE
SXMSXSINT MAARTEN (DUTCH PART)
SVKSKSLOVAKIA
SVNSISLOVENIA
SLBSBSOLOMON ISLANDS
SOMSOSOMALIA
ZAFZASOUTH AFRICA
SGSGSSOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
KORKRSOUTH KOREA
SSDSSSOUTH SUDAN
ESPESSPAIN
LKALKSRI LANKA
SDNSDSUDAN
SURSRSURINAME
SJMSJSVALBARD AND JAN MAYEN
SWZSZSWAZILAND
SWESESWEDEN
CHECHSWITZERLAND
SYRSYSYRIA
TWNTWTAIWAN
TJKTJTAJIKISTAN
TZATZTANZANIA
THATHTHAILAND
CODCDTHE DEMOCRATIC REPUBLIC OF CONGO
TLSTLTIMOR-LESTE
TGOTGTOGO
TKLTKTOKELAU
TONTOTONGA
TTOTTTRINIDAD AND TOBAGO
TUNTNTUNISIA
TURTRTURKEY
TKMTMTURKMENISTAN
TCATCTURKS AND CAICOS ISLANDS
TUVTVTUVALU
VIRVIU.S. VIRGIN ISLANDS
UGAUGUGANDA
UKRUAUKRAINE
AREAEUNITED ARAB EMIRATES
GBRGBUNITED KINGDOM
USAUSUNITED STATES
UMIUMUNITED STATES MINOR OUTLYING ISLANDS
URYUYURUGUAY
UZBUZUZBEKISTAN
VUTVUVANUATU
VATVAVATICAN
VENVEVENEZUELA
VNMVNVIETNAM
WLFWFWALLIS AND FUTUNA
ESHEHWESTERN SAHARA
YEMYEYEMEN
ZMBZMZAMBIA
ZWEZWZIMBABWE