0

を確認する必要があるシナリオがありnullます。という名前のキーがありますdT

String dT = (String) caseChk.get("dT");

NullPointerExceptionそのキー自体が存在しないため、これは をスローします。で確認したら

if(caseChk.get("dT") != null) {
    // do something
}

のためにさらに別のNullPointerExceptionものがスローされ.getます。nullマップ内のキーが存在しない場合、どのようにテストできますか? メソッドがそれを処理する必要があることは理解していますputが、それは私の管理下にありません。]

4

6 に答える 6

10

.get が例外をスローするので、今でも nullpointer を取得します

あなたcaseChk.get("dT")がそこに持っている唯一の行であり、それが例外をスローしていることを確認している場合、唯一の可能性はcaseChknullになる可能性があります。

于 2013-01-11T17:41:32.340 に答える
2

キーが存在することを確認するには、HashMap#containsKey(key)関数を使用する必要があります。キーが存在するHashMap#get(key)と、値を取得して null と比較するために使用できます。

于 2013-01-11T17:42:42.087 に答える
0

nullをチェックするメソッドを使用してこれを試してください

public String checkNull_HashMap(Hashtable hashMap, String hashKey) {

    if (hashMap.get(hashKey) == null) {
        return "";
    } else {
        return hashMap.get(hashKey).toString();
    }
}
于 2014-02-17T15:35:53.293 に答える
0

caseChkがnullになる可能性がありますこれを試してください

 String dT;
if(chaseChk!= null) 
dT= (String)caseChk.get("dT");`
于 2013-01-11T17:44:42.407 に答える