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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage