-4

--- コメントとヒントを残してくれてありがとう!問題を解決しました!---

質問があります。ここに私の 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 時間座っていますが、基本的に何が悪いのか理解できません。前もって感謝します!

4

2 に答える 2