我有Option
的List
的String
,Some(List("abc","def","ghi"))
和我需要在Scala中转换为List("abc","def","ghi")
。我的意思是Option[List[String]]
到List[String]
。
您应该查看Option的文档。你可以在那里找到你需要的一切。
这里有两个想法:
val optlist = Some(List("abc", "def", "ghi"))
val list = if (optlist.isDefined) optlist.get else Nil
val list2 = optlist.getOrElse(Nil)
println(list)
println(list2)
输出:
List(abc, def, ghi)
List(abc, def, ghi)
如果你想在Scala中删除Option,那么你可以使用getOrElse()函数。
Scala是一种非常强的类型安全语言,可以检测编译错误。在else部分,应该返回相同类型的数据,例如:
val nameOption : Option[String] = Some("ABC");
然后删除选项,你应该使用getOrElse()
val name: String = nameOption.getOrElse(" ") #Empty String
同样,在你的例子中,
val listOption = Some(List("abc", "def", "ghi"))
val list : List[String] = listOption.getOrElse(List.empty)
输出:
List(abc, def, ghi)