私はこれをチェックして、それが必要かどうか尋ねていることに気づきました。私はこのようなコードを持っています:
public Object myMethod(Object... many) {
if (many == null || many.length == 0)
return this;
for (Object one : many)
doSomethingWith(one);
return that;
}
しかし、それから私は疑問に思いました...私はあまりにも用心深いですか? many == null
かどうかを確認する必要がありますか?現在のJavaバージョン?で可能ですか?そうでない場合はどうすればよいですか?そうでない場合は、おそらくOracleがいつかnullになる可能性があると判断した場合に備えて、将来の保証のためにチェックを続けてください。
Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0 on Linux 3.5.0-21-generic
で試してみました
myMethod(null)
を使用するとnew Object[]{null}
は渡されず、null
が渡されます。 配列はJavaのオブジェクトです したがって、null
はタイプObject[]
に対して有効です。
したがって、nullcheckは過度に慎重ではありません。