java 是否有将美国州名转换为州代码的实用程序。例如。亚利桑那到 AZ?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11005751/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Is there a Util to convert US State Name to State Code. eg. Arizona to AZ?
提问by Code Droid
I need to convert full state name to its official state address code. For example from the String New York, I need to produce NY. Now I could put this all in a hashmap, but it seems there must be a utility for this? I am in an Android environment. I don't want to import a large library just for this one util however. Thanks
我需要将完整的州名转换为其官方州地址代码。例如从String New York,我需要生产NY。现在我可以把这一切都放在一个哈希图中,但似乎必须有一个实用程序?我在Android环境中。但是,我不想仅为这个实用程序导入一个大型库。谢谢
回答by alfasin
I have it ready-made - you can use it:
我有现成的 - 你可以使用它:
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");
回答by Oleksiy
I know this doesn't answer the question, but just in case someone needs the opposite: to use state/province abbreviations as keys and names as values. It took me a few minutes to reformat the map. Also, the abbreviation for Quebec in the accepted answer is wrong.
我知道这不能回答问题,但以防万一有人需要相反的情况:使用州/省缩写作为键和名称作为值。我花了几分钟重新格式化地图。此外,接受的答案中魁北克的缩写是错误的。
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");
}
回答by atom88
Even better to use an Enum.
使用枚举更好。
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;
}
}
回答by Udai Kiron
This is the updated version with Codes for United States (US) and US Territories, Canada, and Mexico. This is a 2-way map. As such, this provides names for the given codes and vice-versa. Scroll down to see both options.
这是包含美国 (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");
}
回答by óscar López
Build a Map<String, String>
with the codes and values, it's simple to do and with very little data. There's no "utility" for this, it's very specific for the application you're building.
Map<String, String>
用代码和值构建一个,这很简单,而且数据很少。这没有“实用程序”,它非常适合您正在构建的应用程序。
回答by Armen Arzumanyan
As key and value:
作为键和值:
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;
}
}
回答by Zach Sugano
I think the simplest way would be with a HashMap. Even if there was a library to convert it, it would probably use the same thing.
我认为最简单的方法是使用 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);
}
回答by Manto
I don't think so (At least I never heard of it). But you can always use a dictionary to accomplish that.
我不这么认为(至少我从未听说过)。但是你总是可以使用字典来实现这一点。