2

我已经定义了一个案例类...

case class QueryRef[A](id: UUID, descriptor: (A) => Boolean, selector: immutable.Iterable[A] => A])

...这将作为 Akka Actors 之间的消息传递。接收器将使用 过滤一些类型A的集合,descriptor然后使用 . 从生成的过滤集合中选择单个元素selector

如所写,它仅在接收参与者的集合具有 type 时才有效immutable.Seq[A]。我想概括以上内容,以便它可以与 type 元素的通用集合一起使用A。这可能吗?

4

1 回答 1

3

Scala 集合具有层次结构,如下所示。您只需要选择适合您的用例的层次结构级别。如果您希望允许 Maps 和 Sets,Iterable 可能是您的理想选择。

当然,您只能使用在该层次结构级别可用的那些功能,您将无法使用任何 Seq 特定功能。

在此处输入图像描述

于 2015-08-20T13:50:32.347 回答