J'ai une instance d'une collection que je veux stocker en externe, puis restaurer dans le type de collection d'origine. Par exempleComment créer une nouvelle collection de façon réfléchie?
class Foo {
var x : List[Int]
}
val f = new Foo
f.x = List(1, 2, 3)
I "serialize" sur f, je veux créer une nouvelle pensivement Foo, f2 et remplir f2.x avec les résultats corrects.
Je peux créer le nouveau Foo en faisant classOf[Foo].newInstance
, mais comment puis-je créer le type de collection correct et le remplir?
Remarque, je fais beaucoup d'hypothèses ici, remarquable: 1) Je sais que le type de fx, et je peux même sérialiser le type de ce 2) Je sérialisation le contenu de x dans quelque chose qui préserve les valeurs 3) Je ne veux utiliser aucune sérialisation "standard"
J'ai essayé d'utiliser les constructeurs disponibles sur la collection originale, mais je ne comprends pas assez comment cela fonctionne assez pour le retirer.
Merci,
Dave
Le code pour la classe 'foo' ne compile pas ... vous ne devriez pas laisser de côté les membres abstraits si vous voulez une classe concrète. – axel22
Ok, ce n'est pas le point cependant. dit la ligne ci-dessus lit: var x: List [Int] = null –