1

nullパラメータをテストしようとしていますが、オブジェクトをnullと比較できません。

以下はデッドコードです:

    } else if(x == null){
        throw new NullPointerException("Parameter is null");
    }

希望の効果を得るためにどのように書き直しますか?

4

3 に答える 3

4

Java では、値 null と比較できます。これを行う標準的な方法は次のとおりです。

String s = null;
if(s == null)
{  
    //handle null
}  

通常、NPE をスローすることは、現実の世界では不適切な方法です。

于 2012-02-16T04:20:26.727 に答える
2

Java の文字通りの意味でハンドルを使用するには

Foo foo = bar.couldReturnNull();
try {
   foo.doSomething();
} catch (NullPointerException e) {
   System.out.println("bar.couldReturnNull() returned null");
   throw new NullPointerException();
}
于 2012-02-16T04:12:23.383 に答える
1

はっきり言わないけど、NullPointerException で Java っぽく見える。はい、オブジェクト参照を null と比較できるので、このコードは問題ありません。null と等しいものは何もない SQL と混同している可能性があります。

于 2012-02-16T04:11:18.540 に答える