如何在 Scala 中设置多个类型边界?

我希望能够这样声明:

trait Narrowable[A] extends Iterable[A] {


def narrow[B <: A & B <: AnyRef] : Iterable[B]


}

B类型应该是 A 还有 AnyRef的一个子类型。这可能吗?

16888 次浏览

使用复合类型:

trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A with AnyRef] : Iterable[B]
}