私はしばしば、メソッドまたはコンストラクタの値としてnullが許可されていないjava SourceCodeを参照します。私はとにかくスローさにNullPointer NullPointerException
上のメソッドを呼び出すしようとした場合ので、私は、全くその中で自分のために何の意味が見えない Javaでヌルを自己チェックするのに意味があります
public void someMethod(Object someObject){
if(someObject == null) throw new NullPointerException()
someObject.aMethodCall()
}
のように、この典型的な実装が見えます。このメソッドがIllegalArgumentExceptionやその他のカスタムメイドの例外をスローすると、私は感知します。なぜこのチェックが理にかなっているのでしょうか(私は非常に頻繁に見ているように、その背後には意味があると思います)、またはそれが完全なナンセンスである理由
正しい動作がnullポインタである場合(実際にはチェックに時間がかかるため、悪化します)、これは役に立ちません。 – Jim
明示的なヌルチェックは、JIT処理後の暗示的なヌルチェックと同じくらい安いので、ここでのパフォーマンスについては心配しません。 –
可能な重複:http://stackoverflow.com/questions/32280/passing-null-to-a-method私は、Adaで前提条件が使用されているのと同じように、パラメータの良さチェックのためのアサーションを好む。 – vulkanino