只需创建一个名为 Country 的枚举。Java 枚举可以有属性,所以有你的国家代码和名称。对于非洲大陆,您可能想要另一个枚举。
public enum Continent
{
AFRICA, ANTARCTICA, ASIA, AUSTRALIA, EUROPE, NORTH_AMERICA, SOUTH_AMERICA
}
public enum Country
{
ALBANIA("AL", "Albania", Continent.EUROPE),
ANDORRA("AN", "Andorra", Continent.EUROPE),
...
private String code;
private String name;
private Continent continent;
// get methods go here
private Country(String code, String name, Continent continent)
{
this.code = code;
this.name = name;
this.continent = continent;
}
}
至于存储和访问,您将要搜索的每个字段的一个 Map 并键入该字段,这将是标准解决方案。由于您对大陆有多个值,因此您必须使用 aMap<?, List<Country>>
或 Multimap 实现,例如来自 Apache commons。