首页 > 解决方案 > 从列表的选项中提取值

问题描述

我有字符串列表的选项,我知道在那个列表中只有一个值。

val a = Option[List["value"]]

我如何以最体面的方式获得 a in scala 的值?

标签: scalascala-collections

解决方案


因为,List也可以是空的,通过它的类型定义,我推荐下一种方式:

val value: Option[String] = a.flatMap(_.headOption)

所以,headOption- 返回Option列表第一个元素,如果外部和内部都非空,value则返回。SomeOptionList

还有一个List.head操作,如果列表不存在,它会返回T值或抛出异常 - 但由于可能存在异常,我建议尽量避免使用它,并明确处理空列表情况。

希望这可以帮助!


推荐阅读