我知道value class
在编译时在 scala 中内联操作。
也许像这样
case class A(i: Int) extends AnyVal {
def +(that: A) = A(this.i + that.i)
}
A(1) + A(2) // After compile it equals to 1 + 2
但这对我来说似乎没什么大不了的。
它可能会提高性能,但是,
呼叫this.i + that.i
似乎并不比i + i
为什么我们需要value class
scala 和任何用例???