Scala中的漂亮过滤器形式
在Scala中,我创建了一个列表,然后根据类条件对其进行过滤:Scala中的漂亮过滤器形式,scala,filter,Scala,Filter,在Scala中,我创建了一个列表,然后根据类条件对其进行过滤: val list: List[MyObj] = // fill in with objects that extend MyObj, one of them is class A val list2 = list filter ({ case A() => false case _ => true }) 是否可以以更简洁的形式编写上述筛选器?您可以尝试使用isInstanceOf方法: list filter (_.i
val list: List[MyObj] = // fill in with objects that extend MyObj, one of them is class A
val list2 = list filter ({ case A() => false case _ => true })
是否可以以更简洁的形式编写上述筛选器?您可以尝试使用
isInstanceOf
方法:
list filter (_.isInstanceOf[A])
我不知道反对这种方法的建议。你指的是什么课程?嗯,使用类型匹配的主要优点是过滤器的返回类型。如果列表是一个
列表[B]
,列表过滤器(u.isInstanceOf[a])
返回一个列表[B]
。如果你做了list.collect{case a:a=>a}
你会得到一个list[a]
。在某些情况下可能很方便。可能是