Так как List
также может быть пустым, по определению типа я бы порекомендовал следующий способ:
val value: Option[String] = a.flatMap(_.headOption)
так, headOption
- возвращает Option
первого элемента списка, поэтому value
будет Some
, если и внешние Option
, и внутренние List
не пусты.
Существует также операция List.head
, которая возвращает значение T
или генерирует исключение в случае, если список отсутствует - но из-за возможного исключения я бы рекомендовал избегать его использования и явно обрабатывать случай пустого списка.
Надеюсь, это поможет!