0
for (int lstSize = 0; lstSize < obj.size(); lstSize++) {
    if (obj.get(lstSize).getCuffSize() == null) {
        obj.get(lstSize).setCuffSize("");
    }
}

null の値を持つ多くの項目がある ArrayList があります。リスト オブジェクトの項目が null 値を保持している場合、空の文字列として値を設定できますか。

例えば:

ループ中に になっcuffSizeているnullので、 に設定していempty Stringます。しかし、私のオブジェクトには、このように設定する必要があるアイテムがたくさんあります。null 値を保持するオブジェクト内のすべてのアイテムを空の文字列に設定するより良い方法はありますか?

4

5 に答える 5

3

後で null から空の文字列に多くのプロパティを設定するよりも、クラス自体の内部でこれらのプロパティを次のように空の文字列に初期化する方がよいと思います。

public class MyClass {
    private String cuffSize = ""; // init to empty String here
    private String somethingElse = ""; // init to empty String here
    ...
}

次に、cuffSize のセッターを呼び出さなくても、null ではなく空の文字列が含まれます。

于 2013-05-08T21:51:03.923 に答える
3

get()拡張された for は、すべての呼び出し を取り除きます:

for (MyObj elem : obj) {
    if (elem.getCuffSize() == null) {
        elem.setCuffSize("");
    }
}

Java 8 では、Lambda を使用してよりクリーンな方法でこれを行うことができますが、Java 7 ではループよりも良い方法を知りません。

于 2013-05-08T21:52:46.337 に答える
1

または、iteratorを使用できます。

Iterator<MyObject> it = obj.iterator();
while(it.hasNext())
{ 
    MyObject obj = it.next();
    if(obj == null) { .. } 
}
于 2013-05-08T21:55:22.177 に答える
-1

最終目的が達成されるように、 getCuffSize() メソッドの実装は以下のとおりです。

public String getCuffSize()
{
   return (cuffSize == null) ? "" : cuffSize;
}
于 2013-05-09T10:06:06.200 に答える