Scala文档说flatten api会压缩列表列表,只能在列表列表中调用它.
为什么可以在下面调用它?
List(Some("Tony"), None).flatten
Run Code Online (Sandbox Code Playgroud)
axe*_*l22 10
ScalaDoc API显示了[use case]- 方法签名的简化表示.如果你点击Full signature它将扩展为完整的签名:
Full Signature
def flatten[B](implicit asTraversable: (A) ? GenTraversableOnce[B]): List[B]
Run Code Online (Sandbox Code Playgroud)
flatten只要存在从列表元素类型A(在您的情况下Option[String])到任何其他类型的遍历的隐式转换,您就可以调用列表或大多数其他集合.
任何Option类型都可以隐式转换为GenTraversableOnce- Some作为单个元素集合和None空集合.这意味着,你可以调用flatten上List[Option[String]]获得List[String].
| 归档时间: |
|
| 查看次数: |
591 次 |
| 最近记录: |