Некоторое время я изо всех сил старался интегрировать scala с java-методами, которые могут возвращать null. Я придумал следующую утилиту, которая помогает много:Являются ли Maybes хорошим образцом для scala?
// 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))
У меня есть несколько вопросов по поводу этого решения:
- Есть ли лучше или более стандартный шаблон для использования?
- Я дублирую то, что уже существует?
- Имеет ли эта функция скрытые gotchas?
Спасибо! Я работал в версии 2.7 и не понимал, что Option.apply() существует в 2.8. –