0

次のステートメントを試しているとき、

a.do(b.do());

その行からNullPointerExceptionを取得したとします。

それでは、aがnullであるかbがnullであるかを確認する方法はありますか?

4

3 に答える 3

4

いいえ、唯一の解決策は、内部式を抽出することです。

Object o = b.do()
a.do(o);

とにかく良い考えです。

于 2012-05-07T07:17:36.527 に答える
2

eclispeまたは任意の標準IDEでプログラムをデバッグする場合は、Step Into最初にを実行することができますb.do()。クラッシュした場合、問題はbオブジェクトにあります。Step Outからb.do()ではない場合は、Step Into a.do()そこで問題を見つけてください。

Tomaszのアプローチははるかに安全であり、読みやすいので使用することをお勧めしますが、私は言わなければなりません。

于 2012-05-07T07:23:34.843 に答える
0

そのステートメントがエラーを引き起こすには、aまたはbのいずれかがnullです。各オブジェクトを個別にチェックしない限り、どちらかを確認することはできません。

また、予約キーワードではありませんか?わからない。

于 2012-05-07T07:24:00.397 に答える