是否可以根據進入的內容返回特定的數據類型?比方說,我有以下代碼:在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
。如果我知道所有'允許'組合,是否有辦法強制執行?