Ответ 1
Если вы посмотрите в Scala sources, вы заметите, что Option(x)
просто оценивает x
и возвращает Some(x)
on not -новый вход и None
на вкладке null
.
Я бы использовал Option(x)
, когда не уверен, что x
может быть null
или нет, и Some(x)
, когда 100% уверен, что x
не null
.
Еще одна вещь, которую следует учитывать, - это когда вы хотите создать необязательное значение, Some(x)
создает больше кода, потому что вы должны явно указать тип значения:
val x: Option[String] = Some("asdasd")
//val x = Option("asdasd") // this is the same and shorter