私のコードには何か問題がありますが、その理由はわかりません。私は2つのクラスを持っています:
public class MyClass extends MySuperClass {
potected int field1;
public MyClass() {
super();
}
@Override
public int getField1() {
return this.field1;
}
public void setField1(int f) {
this.field1 = f;
}
}
public class MySuperClass {
potected int field1, field2;
public MySuperObject() {
}
public int getField1() {
return this.field1;
}
public void setField1(int f) {
this.field1 = f;
}
public void setField2(int f) {
this.field2 = f;
}
public int getField2() {
return this.field2;
}
}
別の新しい MyClass オブジェクトを作成すると (つまり、ArrayList 内に挿入するために)、何か問題が発生します。
ArrayList<MyClass> list = new ArrayList<MyClass>();
while(condidion) {
MyClass obj = new MyClass();
obj.setField1(value1);
obj.setField2(value2);
list.add(obj);
}
value1 と value2 がシーケンシャル値を想定している場合
1と50
2と70
3と80
私のコードが実行された後、私のリストには
1と80
2 と 80
3と80
新しい MyClass オブジェクトを作成するたびに、MySuperClass のインスタンスのみが作成されるように見えます (field2 は最後の入力値の値を想定しています)。どうすれば修正できますか?