--- コメントとヒントを残してくれてありがとう!問題を解決しました!---
質問があります。ここに私の Java コードがあります。
ArrayList<Row> row = getARowList();
while (data.readRecord()) {
double houseId = data.getSomething();
int buildTime = data.getSomethingElse();
for (Row row : rows) {
// !!!!!!
row.setAge("DefaultValue"); // !!!!
// !!!!!**
if (row.getID() == houseId) {
if (buildTime < 2009 && buildTime > 1000) {
if ((2009 - buildTime) > 30) {
row.setAge("OLD");
} else {
row.setAge("NEW");
}
}
}
}
}
for (Row row : rows) {
System.out.println("Strange Thing: " + row.getAge());
}
これを実行すると、出力が得られます:
Strange Thing: DefaultValue
Strange Thing: DefaultValue
Strange Thing: DefaultValue
Strange Thing: DefaultValue
Strange Thing: DefaultValue
Strange Thing: DefaultValue
Strange Thing: NEW
「!!!!!」の間の行を削除すると (row.setAge("DefaultValue");) 結果は次のようになります:
Strange Thing: OLD
Strange Thing: OLD
Strange Thing: NEW
Strange Thing: null
Strange Thing: OLD
Strange Thing: null
Strange Thing: NEW
たとえば。最後のものは私が欲しいものです。「null」を「DefaultValue」に置き換えたいだけです。しかし、以前にデフォルト値を設定すると (「!!!!!!」を参照)、結果が正しくなくなり、最後の値を除くすべての値が「DefaultValue」の値になります。
誰かがそれについて説明していますか?私はここに 2 時間座っていますが、基本的に何が悪いのか理解できません。前もって感謝します!