こんにちは、私が抱えている問題を示す簡略化されたコードがいくつかあります。基本的に、それ自体を上書きする代わりに、ArrayList の末尾に追加することはできないようです。助けてください
主要
public class Main {
public static void main(String[] args) {
HolderOfList h = new HolderOfList();
h.addToHolder(new Num(2, "Bob"));
h.addToHolder(new Num(3, "Cat"));
h.addToHolder(new Num(4, "Dog"));
h.printAll();
}
}
ArrayList を保持するクラス
import java.util.ArrayList;
import java.util.List;
public class HolderOfList {
List<Num> num;
public HolderOfList() {
num = new ArrayList<Num>();
}
void addToHolder(Num n) {
num.add(n);
}
void printAll() {
for (int i = 0; i < num.size(); i++) {
System.out.println(num.get(i).getI() + num.get(i).getStr());
}
}
}
ArrayList に保持されている要素
public class Num {
private static String str;
private static int i;
public Num(int i, String str) {
this.str = str;
this.i = i;
}
String getStr() {
return str;
}
int getI() {
return i;
}
}
望ましい出力は 2Bob 3Cat 4Dog です
しかし、私が得るのは
4 ドッグ 4 ドッグ 4 ドッグ
私はこの問題を抱えた大規模なプロジェクトを持っていますか?
前もって感謝します