1
我已經定義了下面的類層次結構,我要限制的類型參數是舒適與Double
...Scala中的值類的層次結構?
sealed abstract class Quantity[-T](value: T)(implicit ev: T <:< Double)
case class DiscreteQuantity(value: Long) extends Quantity[Long](value)
case class ContinuousQuantity(value: Double) extends Quantity[Double](value)
...是否有可能重新寫上面的層次結構使混凝土類型是值類?從文檔中我知道價值類不能被擴展,所以排除Quantity
的規則繼承自AnyVal
。爲了使具體類繼承AnyVal
我需要使Quantity
成爲一個特性,這很好,但是隨後我在類型參數上丟失了反變量註釋。
想法?
您從開始的代碼不起作用:「無法證明Long <: