मेरे जावा एप्लिकेशन पर संदर्भित नहीं करता है, मैंने दो वर्गों को परिभाषित किया है, जिन्हें A
और B
कहा जाता है, जहां B
A
की आंतरिक श्रेणी है। दोनों GSON के साथ इस वस्तु, getSomeCalculationValue
ठीक काम करता है serializing पहले serializableजीएसओएन बाहरी कक्षा
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
}
}
}
के रूप में परिभाषित कर रहे हैं। लेकिन, धारावाहिक और deserializing के बाद, getSomeCalculationValue
NullPointerException
के साथ विफल रहता है।
ऐसा इसलिए होता है क्योंकि आंतरिक वर्ग B
में बाहरी वर्ग A
का संदर्भ नहीं है, इसलिए A.this
विफल रहता है।
क्या कोई जानता है कि मैं इसे कैसे हल कर सकता हूं, जो इस ऑब्जेक्ट को deserializing करते समय आंतरिक संदर्भ को बाहरी बहाल कर रहा है?
कृपया अपना क्रमबद्धरण और deserialization प्रक्रिया के साथ ही नमूना जीसन दिखाएं। मुझे नहीं लगता कि आपको यहां 'Serializable' क्यों चाहिए। –