En el scaladoc, BitSet
se define como que se extiende Set[Int]
. Así que pensé utilizando un BitSet
como en la instancia de Set[Int]
funcionaría, pero me da una coincidencia de tipos:¿Por qué BitSet requiere un molde explícito para ser considerado como una instancia de Set [Int]?
Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29).
scala> import collection.BitSet
import collection.BitSet
scala> val b: Set[Int] = BitSet()
<console>:8: error: type mismatch;
found : scala.collection.BitSet
required: Set[Int]
val b: Set[Int] = BitSet()
^
Sin embargo un elenco de obras:
scala> val b: Set[Int] = BitSet().asInstanceOf[Set[Int]]
b: Set[Int] = BitSet()
Entonces, ¿por qué necesito para emitir explícitamente un BitSet
a un Set[Int]
mientras que Set[Int]
es un super-tipo de Set[Int]
?
@jullybobble - Todavía está confundido. 'collection.Set' y' scala.collection.Set' son _exactamente lo mismo_. Quieres decir 'Establecer' de' Predef'. –
¡Uy, claro! ¡Ahora lo tengo! ¡Gracias por la corrección! –
Nota: eliminé mi primer comentario en el que respondió @Rex porque era incorrecto y equívoco. –