ठीक है, शीर्षक बहुत सीधे आगे है, जब मैं एक विधि कहता हूं तो मुझे चेतावनी दी जानी चाहिए:

private static void doSomething(int i){
//code
}

साथ

Integer iMightBeNull = null;
doSomething(iMightBeNull);

यह हमेशा एक java.lang.NullPointerException देगा, जो मूल कारण है।

लेकिन जावा निरीक्षण में, केवल एक चीज जो मुझे मिली "न्यूमेरिक कास्ट लूज प्रिसिजन" - लागू नहीं है क्योंकि उनके पास एक ही सटीक है, "अनावश्यक न्यूमेरिक कास्ट" - विपरीत पर चेतावनी देता है, "लागू संख्यात्मक रूपांतरण" - पासिंग पर चेतावनी देता है int को एक लंबी विधि, "अत्यधिक मजबूत प्रकार कास्ट" - अगर माता-पिता के लिए पर्याप्त है तो दादा-दादी को बच्चे की वस्तु कास्टिंग करते समय चेतावनी देता है।

2
Then Enok 21 सितंबर 2018, 10:25

2 जवाब

सबसे बढ़िया उत्तर

मैं वास्तव में अपने स्वयं के प्रश्न का उत्तर नहीं देना चाहता था और किसी और को कुछ लूट देने की आशा करता था, लेकिन आगे की हलचल के बिना:

इंटीजर को इंट (या बूलियन से बूलियन, या लॉन्ग टू लॉन्ग आदि) को कास्ट करते समय 'ऑटो-अनबॉक्सिंग' हाइलाइट करता है।

इसके अलावा इस विषय पर कुछ और (चेतावनी जब एक प्रकार के लिए एक विधि का उपयोग किसी अन्य समान प्रकार पर किया जाता है):

  • 'अंतर्निहित संख्यात्मक रूपांतरण' हाइलाइट करते समय int को लंबे या लंबे समय तक int . में कास्ट करते हैं

  • 'ऑटो-मुक्केबाजी' पर प्रकाश डाला गया जब इंटीजर को कास्ट किया गया

0
Then Enok 3 अक्टूबर 2018, 21:51

"निरंतर स्थितियां और अपवाद" निरीक्षण, जो डिफ़ॉल्ट रूप से सक्षम है, इस कोड पर एक चेतावनी की रिपोर्ट करता है: "iMightBeNull का अनबॉक्सिंग 'NullPointerException' उत्पन्न कर सकता है"।

1
yole 21 सितंबर 2018, 11:29