1

取得して文字列に変換するオブジェクトがあります。.get() は null を返す場合があり、文字列に変換しようとするとクラッシュします。この場合、null を処理する最善の方法は何ですか? null を返す場合は、おそらく空の文字列に設定します。.get() ごとに if ステートメントを書かないようにしています

 String value1 = userDict.get("key1").toString();
 String value2 = userDict.get("key2").toString();
 String value3 = userDict.get("key3").toString();
 String value4 = userDict.get("key4").toString();

編集:

userDict は HashMap (文字列、オブジェクト)

4

5 に答える 5

3

null を返す場合は、おそらく空の文字列に設定します。

それはあなた次第です。このコードの目的が何であるかによって異なります。

.get() ごとに if ステートメントを書かないようにしています

コードの繰り返しを避けたい場合は、ヘルパー メソッドを作成します。

于 2013-05-31T21:02:57.957 に答える
0

Oli が示唆したように、次のようなヘルパー get メソッドを作成できます

String helperGet(String key){
    YourClassType t = userDict.get("key1");
    if(t!=null)
       return t.toString();
    else
       return "";
}

次のように呼び出します

 String value1 = userDict.helperGet("key1");
 String value2 = userDict.helperGet("key2");
 String value3 = userDict.helperGet("key3");
 String value4 = userDict.helperGet("key4");
于 2013-05-31T21:23:40.740 に答える
-4

私はtry-catchを使用します

  try {
    value1 = userDict.get("key1").toString();
  } catch (Exception e) {
    value1 = 0;
  }
于 2013-05-31T21:05:50.470 に答える