64
我希望能夠宣佈這樣的事情:如何在Scala中設置多個類型邊界?
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A & B <: AnyRef] : Iterable[B]
}
也就是說它的類型B
應該是兼備了A
和AnyRef
亞型。這可能嗎?
我希望能夠宣佈這樣的事情:如何在Scala中設置多個類型邊界?
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A & B <: AnyRef] : Iterable[B]
}
也就是說它的類型B
應該是兼備了A
和AnyRef
亞型。這可能嗎?
使用複合類型:
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A with AnyRef] : Iterable[B]
}
同樣的協議,挖金子,多年後人們發現沃爾特昌;-) – virtualeyes 2012-01-29 17:49:01
@Walter昌見地的回答怎麼樣**或兩個上的/任何一個邊界**'def窄[B <:A | B <:AnyRef]:Iterable [B]' – 2016-04-11 09:30:40
@PushpendraJaiswal最好的辦法是簡單地使用'A,AnyRef]而不是類型邊界。 – 2017-11-21 07:37:02