你如何定义一个Scala方法,使它能够在不引发编译错误的情况下接受任何类型A的子类?如何定义scala方法的上限
trait A
case class B extends A
case class C extends A
case class W[T](abc: Option[T]= None)
def methodOne(a: A): W[A] = {
a match {
case b:B => methodTwo() // throws compilation error
case c:C => methodThree() // throws compilation error
}
}
def methodTwo(): W[B] = y
def methodThree(): W[C] = z
试过类似
def methodOne[T <: A](a: A): W[T]
,但它不允许编译仍然
谢谢!这工作... – Stanley