1

私のコードは以下のようになります

caseX caseXObj = caseXBo.getCaseXDao().findCaseXBySID(selectedID);

if(caseXObj != null && caseXObj.getCaseInGrossAmt() != null){

} else {
    caseXObj.setCaseAmt(BigDecimal.ZERO);
}

caseX とゲッターの NUll ポインターを処理し、null の場合は bigdeciaml をデフォルトのゼロ値に設定しました。それでも、セッター行で Null ポインター例外が発生します。何か提案はありますか?

4

3 に答える 3

0

getCaseXDao() が null を返しても問題ないと仮定すると、else 句でポインターとして使用するのではなく、caseXObj に割り当てる必要があります。

于 2013-04-19T15:22:41.433 に答える
0

それは、else 部分で null をチェックしないためです。

そのはず:

caseX caseXObj = caseXBo.getCaseXDao().findCaseXBySID(selectedID);

if(caseXObj != null && caseXObj.getCaseInGrossAmt() != null)
{
//...
}
else
{
  if (caseXObj != null)
  {
    caseXObj.setCaseAmt(BigDecimal.ZERO);
  }
}
于 2013-04-19T15:23:41.873 に答える