GSON deserialisiert keine Verweise auf die äußere Klasse
In meiner Java-Anwendung habe ich zwei Klassen mit dem Namen definiertA
undB
woherB
ist innere Klasse vonA
. Beide sind als serialisierbar definiert
public class A implements Serializable {
int attrParent;
List<B> items = new ArrayList<B>();
public void setAttrParent(int attrParent) {
this.attrParent = attrParent;
}
public int getAttrParent() {
return attrParent;
}
public class B implements Serializable {
private int attr;
public void setAttr(int attr) {
this.attr = attr;
}
public int getAttr() {
return attr;
}
public int getSomeCalculationValue() {
return this.attr * A.this.attrParent; // Problems occurs here
}
}
}
Vor Serialisierung dieses Objekts mit GSON,getSomeCalculationValue
funktioniert gut. Aber,nach dem serialisieren und deserialisieren,getSomeCalculationValue
scheitert mit einemNullPointerException
.
Das passiert, weil die innere KlasseB
hat keinen Verweis auf die äußere KlasseA
mehr soA.this
scheitert.
Weiß jemand, wie ich das lösen könnte, das heißt, den inneren zum äußeren Bezug wiederherzustellen, während ich dieses Objekt deserialisiere?