Objekte verschachtelter Klassen speichern

raysprak

Mitglied
Guten abend!

Ich habe folgendes Problem:

Ich habe in einem Projekt unterschiedliche Klassen ineinander verschachtelt.
Nun versuche ich Objekte dieser Art, die in einer Hashtable gespeichert sind, in einer Datei mittels ObjectOutputStream zu speichern. Ich bekomme aber immer eine java.io.NotSerializableException.

Der Code ist (vereinfacht) so aufgebaut:

public class Aussen implements Serializable
{
private Hashtable<String,A> sammlung = new Hashtable<String,A>();

public class A implements Serializable
{
public class B implements Serializable
{
public class C implements Serializable
{

}
}
}
}

...und das Hashtable in Klasse "Aussen" soll gespeichert werden.

Warum bekomme ich eine Exception?
Kann mir jemand helfen?

Gruß
R
 
Bei mir funktioniert der code ohne probleme. Hast du vielleicht Objekte in einer deiner Klasse, die sich nicht serialisieren lassen, z.B. BufferedImage?
 
Der Code hatte übersetzungsmäßig auch einwandfrei funktioniert, nur ließ sich das ganze Konstrukt nicht speichern. Habs aber jetzt hinbekommen.
Ich musste die inneren Klassen als static deklarieren, jetzt funktioniert es.
Innere Klasse haben eine implizite Referenz auf ihre äußeren und ihre inneren Klassen, darum hat wohl das static-machen geholfen.
Hab die Antwort aber auch nur irgendwo im Netz gefunden und mir nicht selbst aus dem Kopf gedrückt.

Trotzdem Danke!

:-)
 
Zurück