Некоторое время я пытался интегрировать scala с java-методами, которые могут возвращать ноль. Я придумал следующую утилиту, которая очень помогает:
// 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) )
У меня есть несколько вопросов об этом решении:
- Есть ли лучший или более стандартный шаблон для использования?
- Дублирую ли я то, что уже существует?
- Имеет ли эта функция скрытые ошибки?