gpt4 book ai didi

java - 在 Java 中存储国家代码、名称和大陆的最佳方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:28:59 25 4
gpt4 key购买 nike

我想要某种类型的 ListArray,存储有关每个国家/地区的信息:

  • 2个字母代码
  • 国家名称,例如巴西
  • 世界大陆/地区,如东欧、北美等。

我会手动将每个国家/地区分类为地区/大陆(但如果有自动执行此操作的方法,请告诉我)。这个问题是关于如何存储和访问国家。例如,我希望能够检索北美的所有国家/地区。

我不想使用本地文本文件等,因为这个项目将使用 Google Web Toolkit 转换为 javascript。但存储在枚举或其他某种资源文件中,使其与代码的其余部分分开,才是我真正想要的。

最佳答案

只需创建一个名为 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<?, List<Country>> ,或 Multimap 实现,例如来自 Apache Commons。

关于java - 在 Java 中存储国家代码、名称和大陆的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com