2
私は共変でなければならないクラスを持っています。このクラスは、地図が含まれており、このマップのキーは、私のクラスと同じTタイプを使用している必要があります。スカラ共変クラスcontaingマップ(不変のキー)
class A
class B extends A
class Container[+T](val content: T) {
val map : Map[T, _] = Map.empty
}
val c1: Container[A] = new Container[B](new B) // needs to compile (covariant)
地図キータイプパラメータは不変であるので、それがコンパイルされません。このような状況の回避策はありますか?
感謝:)
をあなたはPECSに精通していますか? –
それは:) – Loic