Are Maybes a good pattern for scala?
- by Fred Haslam
For a while I have been struggling to integrate scala with java methods that might return null. I came up with the following utility which helps a lot:
// produce an Option, nulls become None
object Maybe {
def apply[T](t:T) = if (t==null) None else Some(t)
}
Maybe(javaClass.getResultCouldBeNull()).map( result => doSomeWork(result) )
I have a few questions about this solution:
Is there a better or more standard pattern to use?
Am I duplicating something that already exists?
Does this functionality have hidden gotchas?