Java Enum: Mexican States with ISO Codes
For applications involving Mexican addresses, representing all 32 Mexican federal entities (31 states + Mexico City) as a Java enum provides clarity, consistency, and type safety.
java
public enum MexicanState {
AGUASCALIENTES("AG"),
BAJA_CALIFORNIA("BC"),
BAJA_CALIFORNIA_SUR("BS"),
CAMPECHE("CM"),
CHIAPAS("CS"),
CHIHUAHUA("CH"),
COAHUILA("CO"),
COLIMA("CL"),
DURANGO("DG"),
GUANAJUATO("GT"),
GUERRERO("GR"),
HIDALGO("HG"),
JALISCO("JA"),
MEXICO_STATE("EM"), // Estado de México
MEXICO_CITY("CD"), // Ciudad de México
MICHOACAN("MI"),
MORELOS("MO"),
NAYARIT("NA"),
NUEVO_LEON("NL"),
OAXACA("OA"),
PUEBLA("PU"),
QUERETARO("QE"),
QUINTANA_ROO("QR"),
SAN_LUIS_POTOSI("SL"),
SINALOA("SI"),
SONORA("SO"),
TABASCO("TB"),
TAMAULIPAS("TM"),
TLAXCALA("TL"),
VERACRUZ("VE"),
YUCATAN("YU"),
ZACATECAS("ZA");
private final String code;
MexicanState(String code) {
this.code = code;
}
public String getCode() {
return code;
}
}
Note: Codes follow ISO 3166-2:MX standard.
SQL Version: Mexican States Table
Use the following schema and insert statements to create and populate a table with Mexican state names and codes.
sql
CREATE TABLE mexican_states (
id SERIAL PRIMARY KEY,
name VARCHAR(64) NOT NULL,
code CHAR(2) NOT NULL UNIQUE
);
Insert Statements:
sql
INSERT INTO mexican_states (name, code) VALUES
('Aguascalientes', 'AG'),
('Baja California', 'BC'),
('Baja California Sur', 'BS'),
('Campeche', 'CM'),
('Chiapas', 'CS'),
('Chihuahua', 'CH'),
('Coahuila', 'CO'),
('Colima', 'CL'),
('Durango', 'DG'),
('Guanajuato', 'GT'),
('Guerrero', 'GR'),
('Hidalgo', 'HG'),
('Jalisco', 'JA'),
('Estado de México', 'EM'),
('Ciudad de México', 'CD'),
('Michoacán', 'MI'),
('Morelos', 'MO'),
('Nayarit', 'NA'),
('Nuevo León', 'NL'),
('Oaxaca', 'OA'),
('Puebla', 'PU'),
('Querétaro', 'QE'),
('Quintana Roo', 'QR'),
('San Luis Potosí', 'SL'),
('Sinaloa', 'SI'),
('Sonora', 'SO'),
('Tabasco', 'TB'),
('Tamaulipas', 'TM'),
('Tlaxcala', 'TL'),
('Veracruz', 'VE'),
('Yucatán', 'YU'),
('Zacatecas', 'ZA');
Summary
Modeling Mexican states with Java enums and a SQL database ensures consistency and validation when handling address data in Mexico-based or Latin America–focused systems. The ISO-standard codes are especially useful when integrating with APIs or government services.