Country
类,其中包含String[]
数组,其中包含所有国家/地区的英文名称(±200)。我还需要Country
课程中的其他一些属性,例如他们的首都,省份以及他们的翻译。应从预定列表中选择所有这些属性。此列表也应该相当灵活,以便将来我可以轻松地向它们添加新属性
int
来选择大写/省数组中的值。这对我来说有点过于繁琐,每次我想为国家添加另一个属性/问题时都需要我创建一个巨大的数组(在我看来,混淆了Country
类)。 / LI>
Country
的所有属性创建类。这样做的好处是我可以通过更多信息进一步扩展这些类(例如提供Capital
类属性,例如:amount_of_residents
),并且具有创建复杂翻译类的优势。我只是想知道这是否是最有效/最符合逻辑的方法?我觉得对于我面临的这个问题应该有一些非常好的解决方案,但是对于我的爱,我无法理解它。如果你们有任何想法是什么是最好的选择(我现在倾向于选项3),或者给我另一个解决方案来解决更有效的问题,我们将不胜感激。
注意:我没有添加任何代码,因为我觉得没有必要。如果有人想看一些代码,我很乐意提供它。
答案 0 :(得分:1)
我相信你应该采用最后一种方法,它应该类似于下面的示例代码P.S
class Country {
String countryName;
String capital;
int noOfResidents;
List<String> provinces;
//getter & setters for them
public void setCountryName(String countryName)
{
this.countryName=countryName;
}
//And so on & forth
}
class SetCountryDetails {
public static void main(String[] args){
Map<String, Country> countryData = new HashMap<String, Country>();
//Using a map facilitates easier fetch for the countries. You can just
//provide the key of the country, for an instance to fetch the data for Germany
//just write countryData.get("Germany");
Country countryOne = new Country();
countryOne.setCountryName("Germany");
countryData.put("Germany", countryOne);
Country countryTwo = new Country();
countryOne.setCountryName("India");
countryData.put("India", countryTwo);
}
}
此方法使您可以随时向Country类添加或删除属性,而不会有太多麻烦。
答案 1 :(得分:0)
我不确定我完全明白这个问题究竟是什么。基本上你似乎有一个名为Country的域对象,它有许多属性,你似乎想要动态扩展?也许一些代码可以帮助解决您的问题。
答案 2 :(得分:0)
根据我对您问题的理解,您需要使用国家/地区列表以及这些国家/地区的相应属性。并且这些属性在将来需要灵活添加/删除。为此,您可以在属性文件或XML文件中维护国家/地区和相关属性的列表,如果需要,可以在将来灵活添加/删除属性。如果我的理解是错的,那么请告诉我。 :)