null はオブジェクトでない † null は参照値 (reference value) なので == != による比較はできる。 しかし null はオブジェクトではない。そのため,いちいち if (obj == null) と条件判定をしなければならない。 これは,あたかも,ポリモルフィックなメソッドにおいて (クラスの違いによるディスパッチをせずに)instanceof による場合分けをするようなもので, コードの美しさを損なう→シンプルでなくなる→保守が困難になるという滝壺に落ちていく誘因となる。 純粋なオブジェクト指向プログラミングの観点からは, Null クラスに唯一のオブジェクト null が用意されている とすればよかっただろう。 いくつかのオブジェクト指向言語を比較すると,この方法が最も美しく感じられる。 Java でも同等なことができないことはない。たとえば stat