Stavo cercando di entrare nella nuova libreria Scala Mezzi di conservazione che è stato presentato ai ScalaDays 2013: Scala PicklingScala decapaggio utilizzo MyObject -> Array [Byte] -> MyObject
Quello che sto veramente mancanti sono alcuni semplici esempi su come la biblioteca è usata.
ho capito che posso PIckle qualche oggetto nuovo un deserializzare esso così:
import scala.pickling._
val pckl = List(1, 2, 3, 4).pickle
val lst = pckl.unpickle[List[Int]]
In questo esempio, pckl è di tipo Pickle. Che cosa è esattamente l'uso di questo tipo e come posso ottenere ad esempio ottenere una matrice [Byte] di esso?
Sì, il cmbaxter ha perfettamente ragione. Il tipo della rappresentazione decapata è un sottotipo di 'Pickle'. Selezionando il 'valore' dalla rappresentazione decapata si ottiene il tipo che ci si aspetterebbe, 'Array [Byte]' per binario, 'String' per JSON, ecc. –
Grazie per le risposte. A volte mi confondo quando Scala fa qualcosa implicitamente. Sono ancora abituato alla sintassi più esplicita come Java ma ci sto lavorando. ;) –
Potrebbe essere che IntelliJ non capisce, quale tipo usare? Ho importato scala.pickling._ e binary._ e quando chiamo .pickle su un oggetto, IntelliJ mi dice che è del tipo Pickle, non BinaryPickle. Pertanto mi dice che .value è del tipo Pickle.this.type # ValueType. Il compilatore non si lamenta, perché il tipo di risultato è BinaryPickle. La mia soluzione: chiamare per ora .pickle.asInstanceOf [BinaryPickle] in modo che non visualizzi un errore nell'IDE. –