2014-05-05 5 views
5

में डिफ़ॉल्ट serialVersionUID है, तो serialVersionUID उपclasses द्वारा विरासत में मिला है, अगर मेरे पास सुपरक्लास में serialVersionUID डिफ़ॉल्ट है? जब सुपरक्लस धारावाहिक होता है तो उप-वर्ग भी क्रमिक होते हैं।क्या subialasses द्वारा वंचित serialVersionUID है, अगर मेरे पास superclass

local class incompatible: stream classdesc serialVersionUID = -3473908186986930430, 
local class serialVersionUID = -7527159820765531130 

तो मैं सुपर क्लास को यह कहा::

मैं कोई डिफ़ॉल्ट serialVersionUID तो मैं हो रही थी के साथ शुरू में एक सुपर क्लास था

private static final long serialVersionUID = 1L; 

मेरा प्रश्न है: क्रमबद्धता serialVersionUID सुपर क्लास से विचार करता है जब subclasses serializing या नहीं। क्या मुझे प्रत्येक सबक्लास में स्पष्ट रूप से serialVersionUID निर्दिष्ट करने की आवश्यकता है?

+2

द्वारा दिए गए अपने नियमों के साथ एक विशेष क्षेत्र है, यह पूछने से पहले [पूछो] यह पूछें कि आप पूछ रहे हैं कि –

+0

यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं, लेकिन जावा क्रमबद्धता को प्लेग की तरह टालना चाहिए। यदि आप जावा ऑब्जेक्ट्स को क्रमबद्ध/deserialize करना चाहते हैं, तो प्रोटोकॉल बफर का प्रयास करें, इसके बजाय: https://code.google.com/p/protobuf/ –

+2

@MichaelAaronSafyan 'प्लेग से बचें' इसे बहुत दृढ़ता से डाल रहा है। जे 2 ईई उदाहरण के लिए कई महत्वपूर्ण बिंदुओं पर निर्भर करता है। – EJP

उत्तर

10

क्या serialVersionUID subclasses द्वारा विरासत में मिला है, अगर मेरे पास superclass में डिफ़ॉल्ट serialVersionUID है?

हां यह विरासत में है, लेकिन नहीं, सीरियलाइजेशन इसे सबक्लास से संबंधित नहीं मानेंगे और इसका उपयोग नहीं करेगा।

जब सुपरक्लस धारावाहिक है तो उपclasses भी serializable हैं।

यह समान नहीं है। Serializable एक इंटरफ़ेस है और यह केवल भाषा के नियमों के अधीन है। serialVersionUIDObjectInputStream.

+2

'सीरियलाइजेशन इसे सबक्लास से संबंधित नहीं मानेंगे और इसका उपयोग नहीं करेगा। क्या आप अंतिम बिट को स्पष्ट कर सकते हैं: 'और इसका उपयोग नहीं करें'? क्या आपका मतलब है कि ऑब्जेक्टइनपुटस्ट्रीम सुपरक्लास के सीरियल VersionUID का उपयोग नहीं करेगा? – Dylanthepiguy

+0

@Dylanthepiguy 'इसका उपयोग न करें' का क्या हिस्सा आप समझ में नहीं आया? – EJP

संबंधित मुद्दे