Null

null.png

c言語でnullと書くには

#include <stddef.h>

が必要。

return nullを避けよう

C++ではあてはまりません。これをした方が良いのはJavaだけです

return nullを避ける理由

関数を使う側にとって、余計なnullチェックをさせてしまうからだ。
nullチェックだらけのソースコードは嫌ですよね
なるべくnullチェックさせないのが良いライブラリです

return nullを避ける代替案

  • return NullObject….関数を呼んでも何もしないようなstatic finalなデフォルトオブジェクトを作ってそれを返す
  • return return Collections.emptyList();….要素数0個の配列を返す

return new ArrayList<>();
ではありません。これだと新しいオブジェクトがどんどん作られてしまうことになるので、よくありません。
なので、こちらがおすすめ

return Collections.emptyList();

Collections.emptyList()はstatic finalな空コレクションです。これを呼べば新しいオブジェクトがどんどん生成されるってことはありません。

サポートサイト Wikidot.com