Forse sto abbaiando dall'albero sbagliato (di nuovo) ma se è normale che una proprietà venga digitata come scala.collection.immutable.Set[A]
, come creeresti uno di questi dato un scala.Iterable[A]
? Per esempio:Scala devo convertire in un Seq quando creo una raccolta da un iterabile?
class ScalaClass {
private var s: scala.collection.immutable.Set[String]
def init(): Unit = {
val i = new scala.collection.mutable.HashSet[String]
//ADD SOME STUFF TO i
s = scala.collection.immutable.Set(i) //DOESN'T WORK
s = scala.collection.immutable.Set(i toSeq : _ *) //THIS WORKS
}
}
qualcuno può spiegare perché è necessario per creare il set immutabile attraverso un Seq
(o se non lo è, allora come posso fare)?
Mi dispiace, io non capisco il tuo punto. La mia domanda è stata la ragione per cui non è stato più facile convertire da una collezione immutabile a una collezione immutabile (eccetto tramite un Seq). Ovviamente mi hai dato una collezione di sola lettura; non immutabile –
Sì, è di sola lettura ... Non è un sinonimo di immutabile? Forse non sempre ... ma in questo caso? Conosci un modo per mutare questa collezione? Questa è l'unica interfaccia ad esso ed è di sola lettura. Non c'è modo che cambierà mai. –