为什么要编译:
def foo() : Iterable[URI] = {
Some("")
.map(URI.create)
}
最佳答案
有一个implicit conversion called option2Iterable
直接在 Option
上定义,它转换所有 Option[A]
成Iterable[A]
带有零个或一个元素。
演示这种有点出乎意料的行为的更短的代码片段如下:
(Option(42): Iterable[Int])
它会悄悄转换
Option
成List
,在这种情况下产生 List(42)
.
关于Scala Option[String] 映射变成可迭代的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239907/