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 <: