我有以下特征,我希望常量有多个类型参数
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
作为类型
答案 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}