value classesは、ボックス解除のオーバーヘッドなしでタイプの安全性を達成するために使用できます。 ランタイムでは、そのようなタイプ/クラスが「存在しない」という単純なタイプと見なされていたという印象を受けました(たとえば、値クラスcase class X(i: Int) extends AnyValは実行時には単純なIntになります)。 しかし、あなたは値クラスのインスタンスで.toS
Scala 2.10には、クラスを拡張して指定する値クラスが導入されていますAnyVal。値クラスには多くの制限がありますが、大きな利点の1つは、新しいクラスを作成することなくペナルティなしで拡張メソッドを使用できることです。値クラスを配列に入れるためには、単純に古いクラスと、そのクラスを最初のパラメータとする一連のメソッドです。したがって、 implicit class Foo(val i: I