null
isn't equals to None
. You should wrap your array in Option
:
Option(arr) match {
case Some(a) => ...
case None => ...
}
Option(null)
returns None
More complete sample:
def printDoubles(arr: Array[Double]) {
Option(arr) match {
case Some(Array()) => println("empty array")
case Some(a) => println(a mkString ", ")
case None => println("array is null")
}
}
printDoubles(null) // array is null
printDoubles(Array.empty) // empty array
printDoubles(Array(1.0, 1.1, 1.2)) // 1.0, 1.1, 1.2