28

我需要将全州名称转换为其官方州地址代码。例如来自 String New York,我需要制作 NY。现在我可以把这一切都放在一个哈希图中,但似乎必须有一个实用程序?我在Android环境中。但是,我不想只为这个工具导入一个大型库。谢谢

4

9 回答 9

92

我有现成的 - 你可以使用它:

Map<String, String> states = new HashMap<String, String>();
states.put("Alabama","AL");
states.put("Alaska","AK");
states.put("Alberta","AB");
states.put("American Samoa","AS");
states.put("Arizona","AZ");
states.put("Arkansas","AR");
states.put("Armed Forces (AE)","AE");
states.put("Armed Forces Americas","AA");
states.put("Armed Forces Pacific","AP");
states.put("British Columbia","BC");
states.put("California","CA");
states.put("Colorado","CO");
states.put("Connecticut","CT");
states.put("Delaware","DE");
states.put("District Of Columbia","DC");
states.put("Florida","FL");
states.put("Georgia","GA");
states.put("Guam","GU");
states.put("Hawaii","HI");
states.put("Idaho","ID");
states.put("Illinois","IL");
states.put("Indiana","IN");
states.put("Iowa","IA");
states.put("Kansas","KS");
states.put("Kentucky","KY");
states.put("Louisiana","LA");
states.put("Maine","ME");
states.put("Manitoba","MB");
states.put("Maryland","MD");
states.put("Massachusetts","MA");
states.put("Michigan","MI");
states.put("Minnesota","MN");
states.put("Mississippi","MS");
states.put("Missouri","MO");
states.put("Montana","MT");
states.put("Nebraska","NE");
states.put("Nevada","NV");
states.put("New Brunswick","NB");
states.put("New Hampshire","NH");
states.put("New Jersey","NJ");
states.put("New Mexico","NM");
states.put("New York","NY");
states.put("Newfoundland","NF");
states.put("North Carolina","NC");
states.put("North Dakota","ND");
states.put("Northwest Territories","NT");
states.put("Nova Scotia","NS");
states.put("Nunavut","NU");
states.put("Ohio","OH");
states.put("Oklahoma","OK");
states.put("Ontario","ON");
states.put("Oregon","OR");
states.put("Pennsylvania","PA");
states.put("Prince Edward Island","PE");
states.put("Puerto Rico","PR");
states.put("Quebec","QC");
states.put("Rhode Island","RI");
states.put("Saskatchewan","SK");
states.put("South Carolina","SC");
states.put("South Dakota","SD");
states.put("Tennessee","TN");
states.put("Texas","TX");
states.put("Utah","UT");
states.put("Vermont","VT");
states.put("Virgin Islands","VI");
states.put("Virginia","VA");
states.put("Washington","WA");
states.put("West Virginia","WV");
states.put("Wisconsin","WI");
states.put("Wyoming","WY");
states.put("Yukon Territory","YT");
于 2012-06-12T23:24:03.913 回答
37

我知道这并不能回答问题,但以防万一有人需要相反的情况:使用州/省的缩写作为键和名称作为值。我花了几分钟重新格式化地图。此外,接受的答案中魁北克的缩写是错误的。

public static final Map<String, String> STATE_MAP;
static {
    STATE_MAP = new HashMap<String, String>();
    STATE_MAP.put("AL", "Alabama");
    STATE_MAP.put("AK", "Alaska");
    STATE_MAP.put("AB", "Alberta");
    STATE_MAP.put("AZ", "Arizona");
    STATE_MAP.put("AR", "Arkansas");
    STATE_MAP.put("BC", "British Columbia");
    STATE_MAP.put("CA", "California");
    STATE_MAP.put("CO", "Colorado");
    STATE_MAP.put("CT", "Connecticut");
    STATE_MAP.put("DE", "Delaware");
    STATE_MAP.put("DC", "District Of Columbia");
    STATE_MAP.put("FL", "Florida");
    STATE_MAP.put("GA", "Georgia");
    STATE_MAP.put("GU", "Guam");
    STATE_MAP.put("HI", "Hawaii");
    STATE_MAP.put("ID", "Idaho");
    STATE_MAP.put("IL", "Illinois");
    STATE_MAP.put("IN", "Indiana");
    STATE_MAP.put("IA", "Iowa");
    STATE_MAP.put("KS", "Kansas");
    STATE_MAP.put("KY", "Kentucky");
    STATE_MAP.put("LA", "Louisiana");
    STATE_MAP.put("ME", "Maine");
    STATE_MAP.put("MB", "Manitoba");
    STATE_MAP.put("MD", "Maryland");
    STATE_MAP.put("MA", "Massachusetts");
    STATE_MAP.put("MI", "Michigan");
    STATE_MAP.put("MN", "Minnesota");
    STATE_MAP.put("MS", "Mississippi");
    STATE_MAP.put("MO", "Missouri");
    STATE_MAP.put("MT", "Montana");
    STATE_MAP.put("NE", "Nebraska");
    STATE_MAP.put("NV", "Nevada");
    STATE_MAP.put("NB", "New Brunswick");
    STATE_MAP.put("NH", "New Hampshire");
    STATE_MAP.put("NJ", "New Jersey");
    STATE_MAP.put("NM", "New Mexico");
    STATE_MAP.put("NY", "New York");
    STATE_MAP.put("NF", "Newfoundland");
    STATE_MAP.put("NC", "North Carolina");
    STATE_MAP.put("ND", "North Dakota");
    STATE_MAP.put("NT", "Northwest Territories");
    STATE_MAP.put("NS", "Nova Scotia");
    STATE_MAP.put("NU", "Nunavut");
    STATE_MAP.put("OH", "Ohio");
    STATE_MAP.put("OK", "Oklahoma");
    STATE_MAP.put("ON", "Ontario");
    STATE_MAP.put("OR", "Oregon");
    STATE_MAP.put("PA", "Pennsylvania");
    STATE_MAP.put("PE", "Prince Edward Island");
    STATE_MAP.put("PR", "Puerto Rico");
    STATE_MAP.put("QC", "Quebec");
    STATE_MAP.put("RI", "Rhode Island");
    STATE_MAP.put("SK", "Saskatchewan");
    STATE_MAP.put("SC", "South Carolina");
    STATE_MAP.put("SD", "South Dakota");
    STATE_MAP.put("TN", "Tennessee");
    STATE_MAP.put("TX", "Texas");
    STATE_MAP.put("UT", "Utah");
    STATE_MAP.put("VT", "Vermont");
    STATE_MAP.put("VI", "Virgin Islands");
    STATE_MAP.put("VA", "Virginia");
    STATE_MAP.put("WA", "Washington");
    STATE_MAP.put("WV", "West Virginia");
    STATE_MAP.put("WI", "Wisconsin");
    STATE_MAP.put("WY", "Wyoming");
    STATE_MAP.put("YT", "Yukon Territory");
}
于 2014-05-28T17:15:19.000 回答
7

使用枚举更好。

import java.util.HashMap;
import java.util.Map;

public enum State {

    ALABAMA("Alabama", "AL"), ALASKA("Alaska", "AK"), AMERICAN_SAMOA("American Samoa", "AS"), ARIZONA("Arizona", "AZ"), ARKANSAS(
    "Arkansas", "AR"), CALIFORNIA("California", "CA"), COLORADO("Colorado", "CO"), CONNECTICUT("Connecticut", "CT"), DELAWARE(
    "Delaware", "DE"), DISTRICT_OF_COLUMBIA("District of Columbia", "DC"), FEDERATED_STATES_OF_MICRONESIA(
    "Federated States of Micronesia", "FM"), FLORIDA("Florida", "FL"), GEORGIA("Georgia", "GA"), GUAM("Guam", "GU"), HAWAII(
    "Hawaii", "HI"), IDAHO("Idaho", "ID"), ILLINOIS("Illinois", "IL"), INDIANA("Indiana", "IN"), IOWA("Iowa", "IA"), KANSAS(
    "Kansas", "KS"), KENTUCKY("Kentucky", "KY"), LOUISIANA("Louisiana", "LA"), MAINE("Maine", "ME"), MARYLAND("Maryland", "MD"), MARSHALL_ISLANDS(
    "Marshall Islands", "MH"), MASSACHUSETTS("Massachusetts", "MA"), MICHIGAN("Michigan", "MI"), MINNESOTA("Minnesota", "MN"), MISSISSIPPI(
    "Mississippi", "MS"), MISSOURI("Missouri", "MO"), MONTANA("Montana", "MT"), NEBRASKA("Nebraska", "NE"), NEVADA("Nevada",
    "NV"), NEW_HAMPSHIRE("New Hampshire", "NH"), NEW_JERSEY("New Jersey", "NJ"), NEW_MEXICO("New Mexico", "NM"), NEW_YORK(
    "New York", "NY"), NORTH_CAROLINA("North Carolina", "NC"), NORTH_DAKOTA("North Dakota", "ND"), NORTHERN_MARIANA_ISLANDS(
    "Northern Mariana Islands", "MP"), OHIO("Ohio", "OH"), OKLAHOMA("Oklahoma", "OK"), OREGON("Oregon", "OR"), PALAU("Palau",
    "PW"), PENNSYLVANIA("Pennsylvania", "PA"), PUERTO_RICO("Puerto Rico", "PR"), RHODE_ISLAND("Rhode Island", "RI"), SOUTH_CAROLINA(
    "South Carolina", "SC"), SOUTH_DAKOTA("South Dakota", "SD"), TENNESSEE("Tennessee", "TN"), TEXAS("Texas", "TX"), UTAH(
    "Utah", "UT"), VERMONT("Vermont", "VT"), VIRGIN_ISLANDS("Virgin Islands", "VI"), VIRGINIA("Virginia", "VA"), WASHINGTON(
    "Washington", "WA"), WEST_VIRGINIA("West Virginia", "WV"), WISCONSIN("Wisconsin", "WI"), WYOMING("Wyoming", "WY"), UNKNOWN(
    "Unknown", "");

    /**
     * The state's name.
     */
    private String name;

    /**
     * The state's abbreviation.
     */
    private String abbreviation;

    /**
     * The set of states addressed by abbreviations.
     */
    private static final Map<String, State> STATES_BY_ABBR = new HashMap<String, State>();

    /* static initializer */
    static {
        for (State state : values()) {
            STATES_BY_ABBR.put(state.getAbbreviation(), state);
        }
    }

    /**
     * Constructs a new state.
     *
     * @param name the state's name.
     * @param abbreviation the state's abbreviation.
     */
    State(String name, String abbreviation) {
        this.name = name;
        this.abbreviation = abbreviation;
    }

    /**
     * Returns the state's abbreviation.
     *
     * @return the state's abbreviation.
     */
    public String getAbbreviation() {
        return abbreviation;
    }

    /**
     * Gets the enum constant with the specified abbreviation.
     *
     * @param abbr the state's abbreviation.
     * @return the enum constant with the specified abbreviation.
     * @throws SunlightException if the abbreviation is invalid.
     */
    public static State valueOfAbbreviation(final String abbr) {
        final State state = STATES_BY_ABBR.get(abbr);
        if (state != null) {
            return state;
        } else {
            return UNKNOWN;
        }
    }

    public static State valueOfName(final String name) {
        final String enumName = name.toUpperCase().replaceAll(" ", "_");
        try {
            return valueOf(enumName);
        } catch (final IllegalArgumentException e) {
            return State.UNKNOWN;
        }
    }

    @Override
    public String toString() {
        return name;
    }
}
于 2017-02-14T17:37:52.387 回答
5

这是带有美国 (US) 和美国领土、加拿大和墨西哥的代码的更新版本。这是一张2路地图。因此,这为给定代码提供了名称,反之亦然。向下滚动以查看这两个选项。

private static final Map<String, String> stateCodeToNameMap = new HashMap<>();

private static final Map<String, String> stateNameToCodeMap = new HashMap<>();

static {
    // Load US Codes.
    stateCodeToNameMap.put("AK", "Alaska");
    stateCodeToNameMap.put("AL", "Alabama");
    stateCodeToNameMap.put("AR", "Arkansas");
    stateCodeToNameMap.put("AZ", "Arizona");
    stateCodeToNameMap.put("CA", "California");
    stateCodeToNameMap.put("CO", "Colorado");
    stateCodeToNameMap.put("CT", "Connecticut");
    stateCodeToNameMap.put("DC", "District of Columbia");
    stateCodeToNameMap.put("DE", "Delaware");
    stateCodeToNameMap.put("FL", "Florida");
    stateCodeToNameMap.put("GA", "Georgia");
    stateCodeToNameMap.put("HI", "Hawaii");
    stateCodeToNameMap.put("IA", "Iowa");
    stateCodeToNameMap.put("ID", "Idaho");
    stateCodeToNameMap.put("IL", "Illinois");
    stateCodeToNameMap.put("IN", "Indiana");
    stateCodeToNameMap.put("KS", "Kansas");
    stateCodeToNameMap.put("KY", "Kentucky");
    stateCodeToNameMap.put("LA", "Louisiana");
    stateCodeToNameMap.put("MA", "Massachusetts");
    stateCodeToNameMap.put("MD", "Maryland");
    stateCodeToNameMap.put("ME", "Maine");
    stateCodeToNameMap.put("MI", "Michigan");
    stateCodeToNameMap.put("MN", "Minnesota");
    stateCodeToNameMap.put("MO", "Missouri");
    stateCodeToNameMap.put("MS", "Mississippi");
    stateCodeToNameMap.put("MT", "Montana");
    stateCodeToNameMap.put("NC", "North Carolina");
    stateCodeToNameMap.put("ND", "North Dakota");
    stateCodeToNameMap.put("NE", "Nebraska");
    stateCodeToNameMap.put("NH", "New Hampshire");
    stateCodeToNameMap.put("NJ", "New Jersey");
    stateCodeToNameMap.put("NM", "New Mexico");
    stateCodeToNameMap.put("NV", "Nevada");
    stateCodeToNameMap.put("NY", "New York");
    stateCodeToNameMap.put("OH", "Ohio");
    stateCodeToNameMap.put("OK", "Oklahoma");
    stateCodeToNameMap.put("OR", "Oregon");
    stateCodeToNameMap.put("PA", "Pennsylvania");
    stateCodeToNameMap.put("RI", "Rhode Island");
    stateCodeToNameMap.put("SC", "South Carolina");
    stateCodeToNameMap.put("SD", "South Dakota");
    stateCodeToNameMap.put("TN", "Tennessee");
    stateCodeToNameMap.put("TX", "Texas");
    stateCodeToNameMap.put("UT", "Utah");
    stateCodeToNameMap.put("VA", "Virginia");
    stateCodeToNameMap.put("VT", "Vermont");
    stateCodeToNameMap.put("WA", "Washington");
    stateCodeToNameMap.put("WI", "Wisconsin");
    stateCodeToNameMap.put("WV", "West Virginia");
    stateCodeToNameMap.put("WY", "Wyoming");
    stateCodeToNameMap.put("GU", "Guam");
    stateCodeToNameMap.put("VI", "Virgin Islands");
    stateCodeToNameMap.put("PR", "Puerto Rico");
    stateCodeToNameMap.put("AE", "Armed forces - Europe");
    stateCodeToNameMap.put("AA", "Armed forces - America");
    stateCodeToNameMap.put("AP", "Armed forces - Pacific");

    // Load Canada Codes.
    stateCodeToNameMap.put("AB", "Alberta");
    stateCodeToNameMap.put("BC", "British Columbia");
    stateCodeToNameMap.put("MB", "Manitoba");
    stateCodeToNameMap.put("NB", "New Brunswick");
    stateCodeToNameMap.put("NL", "Newfoundland and Labrador");
    stateCodeToNameMap.put("NT", "Northwest Territories");
    stateCodeToNameMap.put("NS", "Nova Scotia");
    stateCodeToNameMap.put("NU", "Nunavut");
    stateCodeToNameMap.put("ON", "Ontario");
    stateCodeToNameMap.put("PE", "Prince Edward Island");
    stateCodeToNameMap.put("QC", "Quebec");
    stateCodeToNameMap.put("SK", "Saskatchewan");
    stateCodeToNameMap.put("YT", "Yukon");

    // Load México Codes.
    stateCodeToNameMap.put("AGU", "Aguascalientes");
    stateCodeToNameMap.put("BCN", "Baja California");
    stateCodeToNameMap.put("BCS", "Baja California Sur");
    stateCodeToNameMap.put("CAM", "Campeche");
    stateCodeToNameMap.put("CHP", "Chiapas");
    stateCodeToNameMap.put("CHH", "Chihuahua");
    stateCodeToNameMap.put("COA", "Coahuila");
    stateCodeToNameMap.put("COL", "Colima");
    stateCodeToNameMap.put("DIF", "Distrito Federal");
    stateCodeToNameMap.put("DUR", "Durango");
    stateCodeToNameMap.put("GUA", "Guanajuato");
    stateCodeToNameMap.put("GRO", "Guerrero");
    stateCodeToNameMap.put("HID", "Hidalgo");
    stateCodeToNameMap.put("JAL", "Jalisco");
    stateCodeToNameMap.put("MEX", "México");
    stateCodeToNameMap.put("MIC", "Michoacán");
    stateCodeToNameMap.put("MOR", "Morelos");
    stateCodeToNameMap.put("NAY", "Nayarit");
    stateCodeToNameMap.put("NLE", "Nuevo León");
    stateCodeToNameMap.put("OAX", "Oaxaca");
    stateCodeToNameMap.put("PUE", "Puebla");
    stateCodeToNameMap.put("QUE", "Querétaro");
    stateCodeToNameMap.put("ROO", "Quintana Roo");
    stateCodeToNameMap.put("SLP", "San Luis Potosí");
    stateCodeToNameMap.put("SIN", "Sinaloa");
    stateCodeToNameMap.put("SON", "Sonora");
    stateCodeToNameMap.put("TAB", "Tabasco");
    stateCodeToNameMap.put("TAM", "Tamaulipas");
    stateCodeToNameMap.put("TLA", "Tlaxcala");
    stateCodeToNameMap.put("VER", "Veracruz");
    stateCodeToNameMap.put("YUC", "Yucatán");
    stateCodeToNameMap.put("ZAC", "Zacatecas");


    // Load US State Names.
    stateNameToCodeMap.put("Alabama","AL");
    stateNameToCodeMap.put("Alaska","AK");
    stateNameToCodeMap.put("Arizona","AZ");
    stateNameToCodeMap.put("Arkansas","AR");
    stateNameToCodeMap.put("California","CA");
    stateNameToCodeMap.put("Colorado","CO");
    stateNameToCodeMap.put("Connecticut","CT");
    stateNameToCodeMap.put("Delaware","DE");
    stateNameToCodeMap.put("District Of Columbia","DC");
    stateNameToCodeMap.put("Florida","FL");
    stateNameToCodeMap.put("Georgia","GA");
    stateNameToCodeMap.put("Hawaii","HI");
    stateNameToCodeMap.put("Idaho","ID");
    stateNameToCodeMap.put("Illinois","IL");
    stateNameToCodeMap.put("Indiana","IN");
    stateNameToCodeMap.put("Iowa","IA");
    stateNameToCodeMap.put("Kansas","KS");
    stateNameToCodeMap.put("Kentucky","KY");
    stateNameToCodeMap.put("Louisiana","LA");
    stateNameToCodeMap.put("Maine","ME");
    stateNameToCodeMap.put("Maryland","MD");
    stateNameToCodeMap.put("Massachusetts","MA");
    stateNameToCodeMap.put("Michigan","MI");
    stateNameToCodeMap.put("Minnesota","MN");
    stateNameToCodeMap.put("Mississippi","MS");
    stateNameToCodeMap.put("Missouri","MO");
    stateNameToCodeMap.put("Montana","MT");
    stateNameToCodeMap.put("Nebraska","NE");
    stateNameToCodeMap.put("Nevada","NV");
    stateNameToCodeMap.put("New Hampshire","NH");
    stateNameToCodeMap.put("New Jersey","NJ");
    stateNameToCodeMap.put("New Mexico","NM");
    stateNameToCodeMap.put("New York","NY");
    stateNameToCodeMap.put("North Carolina","NC");
    stateNameToCodeMap.put("North Dakota","ND");
    stateNameToCodeMap.put("Ohio","OH");
    stateNameToCodeMap.put("Oklahoma","OK");
    stateNameToCodeMap.put("Oregon","OR");
    stateNameToCodeMap.put("Pennsylvania","PA");
    stateNameToCodeMap.put("Rhode Island","RI");
    stateNameToCodeMap.put("South Carolina","SC");
    stateNameToCodeMap.put("South Dakota","SD");
    stateNameToCodeMap.put("Tennessee","TN");
    stateNameToCodeMap.put("Texas","TX");
    stateNameToCodeMap.put("Utah","UT");
    stateNameToCodeMap.put("Vermont","VT");
    stateNameToCodeMap.put("Virginia","VA");
    stateNameToCodeMap.put("Washington","WA");
    stateNameToCodeMap.put("West Virginia","WV");
    stateNameToCodeMap.put("Wisconsin","WI");
    stateNameToCodeMap.put("Wyoming","WY");
    stateNameToCodeMap.put("Guam", "GU");
    stateNameToCodeMap.put("Puerto Rico","PR");
    stateNameToCodeMap.put("Virgin Islands","VI");
    stateNameToCodeMap.put("Armed Forces (AE)","AE");
    stateNameToCodeMap.put("Armed Forces Americas","AA");
    stateNameToCodeMap.put("Armed Forces Pacific","AP");


    // Load Canada State Names.
    stateNameToCodeMap.put("Alberta","AB");
    stateNameToCodeMap.put("British Columbia","BC");
    stateNameToCodeMap.put("Manitoba","MB");
    stateNameToCodeMap.put("New Brunswick","NB");
    stateNameToCodeMap.put("Newfoundland and Labrador","NF");
    stateNameToCodeMap.put("Northwest Territories","NT");
    stateNameToCodeMap.put("Nova Scotia","NS");
    stateNameToCodeMap.put("Nunavut","NU");
    stateNameToCodeMap.put("Ontario","ON");
    stateNameToCodeMap.put("Prince Edward Island","PE");
    stateNameToCodeMap.put("Quebec","QC");
    stateNameToCodeMap.put("Saskatchewan","SK");
    stateNameToCodeMap.put("Yukon Territory","YT");


    // Load México State Names.
    stateNameToCodeMap.put("Aguascalientes", "AGU");
    stateNameToCodeMap.put("Baja California", "BCN");
    stateNameToCodeMap.put("Baja California Sur", "BCS");
    stateNameToCodeMap.put("Campeche", "CAM");
    stateNameToCodeMap.put("Chiapas", "CHP");
    stateNameToCodeMap.put("Chihuahua", "CHH");
    stateNameToCodeMap.put("Coahuila", "COA");
    stateNameToCodeMap.put("Colima", "COL");
    stateNameToCodeMap.put("Distrito Federal", "DIF");
    stateNameToCodeMap.put("Durango", "DUR");
    stateNameToCodeMap.put("Guanajuato", "GUA");
    stateNameToCodeMap.put("Guerrero", "GRO");
    stateNameToCodeMap.put("Hidalgo", "HID");
    stateNameToCodeMap.put("Jalisco", "JAL");
    stateNameToCodeMap.put("México", "MEX");
    stateNameToCodeMap.put("Michoacán", "MIC");
    stateNameToCodeMap.put("Morelos", "MOR");
    stateNameToCodeMap.put("Nayarit", "NAY");
    stateNameToCodeMap.put("Nuevo León", "NLE");
    stateNameToCodeMap.put("Oaxaca", "OAX");
    stateNameToCodeMap.put("Puebla", "PUE");
    stateNameToCodeMap.put("Querétaro", "QUE");
    stateNameToCodeMap.put("Quintana Roo", "ROO");
    stateNameToCodeMap.put("San Luis Potosí", "SLP");
    stateNameToCodeMap.put("Sinaloa", "SIN");
    stateNameToCodeMap.put("Sonora", "SON");
    stateNameToCodeMap.put("Tabasco", "TAB");
    stateNameToCodeMap.put("Tamaulipas", "TAM");
    stateNameToCodeMap.put("Tlaxcala", "TLA");
    stateNameToCodeMap.put("Veracruz", "VER");
    stateNameToCodeMap.put("Yucatán", "YUC");
    stateNameToCodeMap.put("Zacatecas", "ZAC");
}
于 2016-09-13T21:50:38.833 回答
2

作为键和值:

public enum State {

    AK("AK", "Alaska"),
    AL("AL", "Alabama"),
    AR("AR", "Arkansas"),
    AZ("AZ", "Arizona"),
    CA("CA", "California"),
    CO("CO", "Colorado"),
    CT("CT", "Connecticut"),
    DE("DE", "Delaware"),
    FL("FL", "Florida"),
    GA("GA", "Georgia"),
    HI("HI", "Hawaii"),
    IA("IA", "Iowa"),
    ID("ID", "Idaho"),
    IL("IL", "Illinois"),
    IN("IN", "Indiana"),
    KS("KS", "Kansas"),
    KY("KY", "Kentucky"),
    LA("LA", "Louisiana"),
    MA("MA", "Massachusetts"),
    MD("MD", "Maryland"),
    ME("ME", "Maine"),
    MI("MI", "Michigan"),
    MN("MN", "Minnesota"),
    MO("MO", "Missouri"),
    MS("MS", "Mississippi"),
    MT("MT", "Montana"),
    NC("NC", "NorthCarolina"),
    ND("ND", "NorthDakota"),
    NE("NE", "Nebraska"),
    NH("NH", "NewHampshire"),
    NJ("NJ", "NewJersey"),
    NM("NM", "NewMexico"),
    NV("NV", "Nevada"),
    NY("NY", "NewYork"),
    OH("OH", "Ohio"),
    OK("OK", "Oklahoma"),
    OR("OR", "Oregon"),
    PA("PA", "Pennsylvania"),
    RI("RI", "RhodeIsland"),
    SC("SC", "SouthCarolina"),
    SD("SD", "SouthDakota"),
    TN("TN", "Tennessee"),
    TX("TX", "Texas"),
    UT("UT", "Utah"),
    VA("VA", "Virginia"),
    VT("VT", "Vermont"),
    WA("WA", "Washington"),
    WI("WI", "Wisconsin"),
    WV("WV", "WestVirginia"),
    WY("WY", "Wyoming");

    private final String key;
    private final String value;

    State(String key, String value) {
        this.key = key;
        this.value = value;
    }
}
于 2018-06-13T17:15:03.383 回答
1

使用代码和值构建一个Map<String, String>,操作简单,数据很少。这没有“实用程序”,它对于您正在构建的应用程序非常具体。

于 2012-06-12T22:29:26.357 回答
1

我认为最简单的方法是使用 HashMap。即使有一个库可以转换它,它也可能使用相同的东西。

Map<String, String> states = new HashMap<String, String>();
states.put("Arizona", "AZ");
states.put("California", "CA");
// So on and so forth...

// Then you could create a method like
public String toStateCode(String s) {
    return states.get(s);
}
于 2012-06-12T22:33:29.773 回答
0

我不这么认为(至少我从未听说过)。但是您始终可以使用字典来完成此操作。

于 2012-06-12T22:30:19.823 回答
0

这是 Kotlin 代码:

enum class State(val stateName: String) {
    AK("Alaska"),
    AL("Alabama"),
    AR("Arkansas"),
    AZ("Arizona"),
    CA("California"),
    CO("Colorado"),
    CT("Connecticut"),
    DE("Delaware"),
    FL("Florida"),
    GA("Georgia"),
    HI("Hawaii"),
    IA("Iowa"),
    ID("Idaho"),
    IL("Illinois"),
    IN("Indiana"),
    KS("Kansas"),
    KY("Kentucky"),
    LA("Louisiana"),
    MA("Massachusetts"),
    MD("Maryland"),
    ME("Maine"),
    MI("Michigan"),
    MN("Minnesota"),
    MO("Missouri"),
    MS("Mississippi"),
    MT("Montana"),
    NC("NorthCarolina"),
    ND("NorthDakota"),
    NE("Nebraska"),
    NH("NewHampshire"),
    NJ("NewJersey"),
    NM("NewMexico"),
    NV("Nevada"),
    NY("NewYork"),
    OH("Ohio"),
    OK("Oklahoma"),
    OR("Oregon"),
    PA("Pennsylvania"),
    RI("RhodeIsland"),
    SC("SouthCarolina"),
    SD("SouthDakota"),
    TN("Tennessee"),
    TX("Texas"),
    UT("Utah"),
    VA("Virginia"),
    VT("Vermont"),
    WA("Washington"),
    WI("Wisconsin"),
    WV("WestVirginia"),
    WY("Wyoming")
}

将其用作:

val alaska = State.valueOf("AK").stateName
val virginia = State.VA.stateName
于 2021-06-28T03:48:45.470 回答