我有3个类,我想在每个类中创建一个对象来控制另一个
例如,我被要求做:生成具有指定数量糖果的糖果模型。
我将在B级做到这一点,但是Candy正处于一个单独的班级
public Candy(String CompanyName, String ProducerName) throws TeamException{
This.CandyProducer = ProducerName;
This.CandyCompany = CompanyName;}
现在我知道我能做到:
Candy FirstCandy = new Candy(KitKat, Stephen);
在Candy类中创建一个对象。
但我想要的是拥有Candy类的5个对象。
我尝试过:
List<Candy> CandyModel = ArrayList<Candy>(numOfCandies);
但它不起作用,因为我无法分配&#34; CompanyName&#34;和&#34; ProducerName&#34;对于ArrayList中的任何糖果。
任何提示?
答案 0 :(得分:1)
您可以使用循环将新创建的Candy
对象添加到列表中
for (int i = 0; i < numOfCandies; i++) {
CandyModel.add(new Candy("Company" + i, "Producer" + i));
}
ArrayList
构造函数创建一个空列表,您需要填充对象。构造函数中的参数是&#34;预期大小&#34;或者&#34;初始内部容量&#34;该列表将增长,但它不会产生任何逻辑差异。
答案 1 :(得分:0)
你也可以在那里创建数组列表时错过新关键字..
Candy FirstCandy = new Candy("KitKat", "Stephen");
Candy SecondCandy = new Candy("KitKat", "Stephen");
Candy ThirdCandy = new Candy("KitKat", "Stephen");
List<Candy> CandyModel =new ArrayList<Candy>();
CandyModel.add(FirstCandy);
CandyModel.add(SecondCandy);
CandyModel.add(ThirdCandy);
你可以使用listIterator或iterator这样的东西来迭代它
ListIterator<Candy> itr=CandyModel.listIterator();
System.out.println("traversing elements in forward direction...");
while(itr.hasNext()){
System.out.println(itr.next());
}