gpt4 book ai didi

scala - 模式匹配或 Scala 中的 isInstanceOf

转载 作者:行者123 更新时间:2023-12-04 13:13:31 29 4
gpt4 key购买 nike

假设我有以下类层次结构:

trait A; class A1 extends A; class A2 extends A

现在我需要过滤 A1 List[A] 中的实例.我使用模式匹配或 isInstanceOf .
 as.filter(cond(_){case _: A1 => true}) // use pattern matching
as.filter(_.isInstanceOf[A1]) // use isInstanceOf

它的工作原理一样吗?你更喜欢什么?

最佳答案

你为什么不使用收集?这有一个额外的好处,即返回的列表将是正确的类型(List[A1] 而不是 List[A])

val a1s = as.collect { case x:A1 => x }

关于scala - 模式匹配或 Scala 中的 isInstanceOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530787/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com