मेरे पास एक सवाल है क्योंकि मुझे थोड़ा भ्रमित हो रहा है (या शायद मैं कुछ स्पष्ट नहीं देख रहा हूं)।@SuppressWarnings ("धारावाहिक")
public final class ConverterTYPE {
private final static HashMap<String, Byte> STRING_MAP = new HashMap<String, Byte>() {
{
put("A", new Byte((byte)12));
put("B", new Byte((byte)13));
}
};
}
हम सभी जानते हैं, स्थिर क्षेत्रों धारावाहिक जा करने के लिए नहीं जा रहे हैं: मान लें कि मैं कुछ स्रोत कोड है कि वर्ग है जो इस तरह परिभाषित स्थिर क्षेत्रों की एक बड़ी संख्या में शामिल की एक बहुत कुछ शामिल है करते हैं।
हालांकि, जावा (और ग्रहण) शिकायत करता है कि "धारावाहिक वर्ग एक स्थिर अंतिम धारावाहिक VersionUID फ़ील्ड प्रकार की लंबी घोषणा नहीं करता है"। वे क्यों नहीं देख सकते कि स्थिर को क्रमबद्ध नहीं किया जा रहा है?
और अगला प्रश्न: क्या इस तरह की सभी चेतावनियों से छुटकारा पाने के लिए @SuppressWarnings("serial")
का उपयोग करने के लिए यह समस्या का सही समाधान होगा?
संपादित करें:
मेरी कक्षाओं में से कोई भी Serializable इंटरफ़ेस (या उनके सुपर-क्लास में से कोई भी) लागू करता है। और ग्रहण HashMap<String, Byte>
पर इसकी चेतावनियों के साथ इंगित कर रहा है। यह क्यों नहीं पता कि यह स्थिर क्षेत्र है?
बस इतना ही आपको पता है - हैश मैप सीरियलज़ेबल इंटरफ़ेस लागू करता है। चूंकि आप एक अज्ञात वर्ग में हैश मैप को विस्तारित कर रहे हैं, इसलिए आपका अज्ञात वर्ग भी Serializable लागू करता है। – Numeron
ऑफ-विषय: https: //blog.jooq।संगठन/2014/12/08/डॉन-क्लीवर-द-डबल-कर्ली-ब्रेसेस-एंटी-पैटर्न/ –