如何在两个模型类中相互创建列表

时间:2014-01-16 17:14:57

标签: java

我有2个bean类 - Country&市。我需要在Country类中保留城市列表。而且当我设置城市信息时我需要设置国家名称,所以也需要城市类内的国家。怎么做? 以下是代码:

Country.java

 public class Country {

private String name;
private String about;
 ArrayList<City> cities;

public Country()
{
    cities = new ArrayList<City>();
}

public Country(String name, String about)
{
    this.name= name;
    this.about = about;
}


public int getNoOfCities()
{
    return cities.size();
}


public long getNoOfCitizens()
{ Long aPop= 0L;
    //Long aPopulation = cities.get 
    for(City aCity: cities)
    {
       aPop += aCity.getPopulation();
    }
    return aPop;
}



public String getName(){
    return name;

} 
public String getAbout(){
    return about;
}
}

City.java

 public class City {

    private String name;
    private String about;
    private Long population;

    public City(String name, String about, Long population)
    {
        this.name= name;
        this.name = about;
        this.population = population;


    }
    public String getName(){
        return name;

    } 
    public String getAbout(){
        return about;

    } 
    public Long getPopulation(){
        return population;
    } 
 }

我该如何解决?有人告诉我像ViewObject这样的东西,但不知道它是什么或它是否会解决。帮帮我: - )

国家/地区条目/详细信息用户界面 1.姓名(条目) 2.关于(条目) 3.每个国家的名单 4.对于列表中的每个国家/地区 - 详细信息用户界面(详细信息用户界面),其中包含:      4.1。名称      4.2该国家/地区的城市数量      4.3。这个国家的人口数量(将是该国所有城市人口的总和)

城市条目用户界面 1.姓名(条目) 2.关于(条目) 3.人口(入职) 4.国家(下拉)

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解这个问题,但我能想到的最简单的事情是增加对城市的引用。如果你仔细想想,那就很有意义了 - 每个城市都在一个国家,所以没有国家的城市就不可能。

public class City {

private String name;
private String about;
private Long population;
private Country country;

public City(String name, String about, Long population, Country country)
{
    this.name= name;
    this.name = about;
    this.population = population;
    this.country=country;
    country.addCity(this);
}

答案 1 :(得分:0)

您可以使用模型工厂类。它们可用于填充和创建控制器的模型。 e.g:

public class CountryModelFactory {

    public static Country populateCountryModel() {
        // code to populate the Country model.
        // then return the Country model.
   }
}

使用Model Factory类的优点是,您可以通过介质将模型与控制器分离,然后根据请求填充许多类似的模型。