ループ内に複数のオブジェクトを作成する必要があります。それらをリストに追加するとこのタスクが達成されると他の場所で読みましたが、以下のコードでは、同じオブジェクトのコピーのセット、つまりすべて同じ値が得られます。同じオブジェクトのコピーだけでなく、複数のオブジェクトを作成する方法はありますか? ありがとうございました。
(以下のコードは、私が取り組んでいるものの簡略化されたバージョンです)
System.out.println("Creating swarm of size "+swarmSize);
List<Dog> myDogs = new ArrayList<Dog>();
for(int i = 0; i < dogAmount; i++) {
System.out.println("New Dog # "+i);
myDogs.add(new Dog(i));
}
Dog first = myDogs.get(0);
Dog other = myDogs.get(3);
System.out.println(first.getID()+" "+other.getID());
//prints out the number of dogs I should have created -1 both times
私の犬のクラス
import java.util.*;
public class Dog{
public static int dogID;
public Dog(int ID) {
dogID = ID;
}
public int getID() {
return dogID;
}
public void setID(int id) {
dogID = id;
}
}