type参数采用多种类型

时间:2017-09-11 15:18:42

标签: scala

我有以下特征,我希望常量有多个类型参数

trait MyTrait[+A]  {

  val value: A

}

object Currency {

  sealed trait MyConstants extends MyTrait[String]

  case object A extends MyConstants {val value ="abc"}

  //etc.
  case object B extends MyConstants {val value = "def"}

  //etc.

  val list = Seq(A, B)


}

我想创建另一个case object C extends MyConstants {val value = 10}

任何人都可以建议一种方法来创建一个类型参数Int or String作为类型

1 个答案:

答案 0 :(得分:2)

为什么不参数化MyConstants本身?

sealed trait MyConstants[T] extends MyTrait[T]

case object A extends MyConstants[String] {val value ="abc"}

case object B extends MyConstants[Int] {val value = 10}