Scalaでnullチェック

Scalaを書いているとnullを書くことは殆ど無いし書きたくないけど、Javaのライブラリを使おうとするとnullがぽこじゃか顔を出してくる。
nullが入る可能性があるオブジェクトはもちろんnullチェックしなければならない。そんな時はOptionに包んであげることでnullを隠蔽出来てScalaっぽく書けます。

scala> def isNull(v: Any) = Option(v) match {
     |   case Some(x) => println("nullじゃない何か")
     |   case None    => println("nullだ!")
     | }
isNull: (v: Any)Unit

scala> isNull(null)
nullだ!

scala> isNull(1)
nullじゃない何か

こんな感じでパターンマッチにかけることでnullチェック忘れもコンパイラで検知してくれるし便利ですね。