nullパラメータをテストしようとしていますが、オブジェクトをnullと比較できません。
以下はデッドコードです:
} else if(x == null){
throw new NullPointerException("Parameter is null");
}
希望の効果を得るためにどのように書き直しますか?
nullパラメータをテストしようとしていますが、オブジェクトをnullと比較できません。
以下はデッドコードです:
} else if(x == null){
throw new NullPointerException("Parameter is null");
}
希望の効果を得るためにどのように書き直しますか?
Java では、値 null と比較できます。これを行う標準的な方法は次のとおりです。
String s = null;
if(s == null)
{
//handle null
}
通常、NPE をスローすることは、現実の世界では不適切な方法です。
Java の文字通りの意味でハンドルを使用するには
Foo foo = bar.couldReturnNull();
try {
foo.doSomething();
} catch (NullPointerException e) {
System.out.println("bar.couldReturnNull() returned null");
throw new NullPointerException();
}
はっきり言わないけど、NullPointerException で Java っぽく見える。はい、オブジェクト参照を null と比較できるので、このコードは問題ありません。null と等しいものは何もない SQL と混同している可能性があります。