是否可以根据进入的内容返回特定的数据类型?比方说,我有以下代码:在Scala中根据输入参数类型约束返回类型
sealed trait Super
case class SpecificA(...) extends Super
case class SpecificB(...) extends Super
trait Bells
trait Whistles
sealed trait Something
case class SomeAWithBellsAndWhistles(...) extends Something with Bells with Whistles
case class SomeBWithBellsAndWhistles(...) extends Something with Bells with Whistles
object Utils {
def doStuff[T <: Super](...): RT
}
RT
只能是SomeAWithBellsAndWhistles
如果T
是SpecificA
,类似的还有B
。如果我知道所有'允许'组合,是否有办法强制执行?