* fill方法应从另一个类调用,该类具有一个包含选项的菜单,其中一个是fill选项。

我试图将26个huntsingercard对象添加到构造函数外部的huntsingercard对象的数组列表中。奇怪的是,如果不使用构造函数填充数组列表,我似乎无法完成此任务。我已经对数组尝试过同样的事情,并且效果很好,但是fill()方法无法将值添加到列表中。

class huntsingerdeck
{
private ArrayList<huntsingercard> list = new ArrayList<huntsingercard>();

public huntsingerdeck()
{
}
public void fill()
{
    for(int a=0; a<26; list.add(a++,new huntsingercard()));
}


我在这里到底想念什么?我也尝试在构造函数中实例化列表,但这也与数组混淆。

最佳答案

您可以使用实例初始化程序来实现

public class HuntSingerDeck {

  private ArrayList<HuntSingerCard> list = new ArrayList<HuntSingerCard>();

  {
      for(int a=0; a<26; a++) {
          list.add(new HuntSingerCard()));
      }
  }

  public HuntSingerDeck() {
    //Array list is already initialised and filled at this point
  }

}


创建新实例时,将在调用构造函数之前触发实例初始化程序。这意味着arraylist将在到达构造函数的开始之前被填充。

09-07 23:44