我希望能够宣布这样的事情:
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A & B <: AnyRef] : Iterable[B]
}
即,类型B
应该是A
和 AnyRef
的子类型。这可能吗?
答案 0 :(得分:104)
使用复合类型:
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A with AnyRef] : Iterable[B]
}