"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्प्रिंग के XML कॉन्फ़िगरेशन का उपयोग करते समय जावा "अनियंत्रित कास्ट चेतावनी" क्यों देता है?

स्प्रिंग के XML कॉन्फ़िगरेशन का उपयोग करते समय जावा "अनियंत्रित कास्ट चेतावनी" क्यों देता है?

2024-11-11 को प्रकाशित
ब्राउज़ करें:424

 Why Does Java Throw an \

प्रकार सुरक्षा: अनियंत्रित कास्ट चेतावनियों को समझना

स्प्रिंग के XML कॉन्फ़िगरेशन का उपयोग करते समय, किसी ऑब्जेक्ट को संदर्भ से एक विशिष्ट प्रकार में डालने का प्रयास करते समय त्रुटियां उत्पन्न हो सकती हैं, जैसा कि देखा गया है नीचे दिए गए कोड स्निपेट में:

private Map<String, String> someMap = new HashMap<String, String>();
someMap = (HashMap<String, String>)getApplicationContext().getBean("someMap");

Eclipse इसे चेतावनी के साथ चिह्नित कर सकता है: "प्रकार की सुरक्षा: ऑब्जेक्ट से HashMap".

समस्या

चेतावनी प्रकार मिटाने से उत्पन्न होती है, जो जावा वर्चुअल मशीन (जेवीएम) की एक विशेषता है जो प्रदर्शन को अनुकूलित करने के लिए रनटाइम पर प्रकार की जानकारी को हटा देती है। परिणामस्वरूप, JVM रनटाइम पर पुनर्प्राप्त मानचित्र के वास्तविक प्रकार को निर्धारित नहीं कर सकता है, जिससे अनियंत्रित कास्ट चेतावनी हो सकती है।

Resolution

इस समस्या को हल करने के लिए, आप @SuppressWarnings( का उपयोग कर सकते हैं) "अनियंत्रित") एनोटेशन, जो कोड के व्यवहार को प्रभावित किए बिना चेतावनी को दबा देता है। हालाँकि, इसे संयम से और केवल तभी उपयोग करना महत्वपूर्ण है जब आप आश्वस्त हों कि कास्ट सुरक्षित है।

एक वैकल्पिक समाधान जावा में संशोधित जेनेरिक के लिए अभियान चलाना है, एक ऐसी सुविधा जो रनटाइम पर प्रकार की जानकारी को संरक्षित करेगी और समाप्त करेगी अनियंत्रित कास्ट की आवश्यकता।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3