* 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将在到达构造函数的开始之前被填充。