2013-02-22 115 views
10

के लिए चेतावनियां उत्पन्न करें मैं सभी ऑटोबॉक्सिंग और अनबॉक्सिंग के लिए चेतावनियां उत्पन्न करना चाहता हूं।ऑटोबॉक्सिंग उपयोग

क्या किसी को भी प्रभावी तरीका मिला है?

ग्रहण मूल ऑटोबॉक्सिंग त्रुटियों को पकड़ता है: उदाहरण के लिए। Integer i = null; i++। लेकिन किसी भी जटिल पर असफल हो जाता है, और वास्तव में वह नहीं है जो मैं बाद में हूं।

मैं CheckstylePMD और देखा है लेकिन वहाँ कुछ भी नहीं मिला।

मुझे पता है कि यह एक विवादास्पद विषय है, लेकिन मुझे लगता है कि यह एक खतरनाक विशेषता है। इसे अक्षम करने का कोई तरीका नहीं है, इसलिए मुझे कोड समीक्षाओं के दौरान जांच करने के लिए कम से कम एक रिपोर्ट पसंद आएगी।

मैं कोड समीक्षा और कीड़े में अभी तक भी अक्सर इस NullPointerException देखें:

class X { 
    Integer i = null; 

    public int doSomething() { 
     return i + 2; 
    } 
} 

मुझे लगता है कि अब तक हो रहा से इसे रोकने के लिए चाहते हैं।

+0

आपकी क्वेरी से मैं समझता हूं कि निम्न सेटिंग पहले से ग्रहण में सेट है? क्या मैं सही हू? "प्राथमिकताएं-> जावा-> कंपाइलर-> त्रुटियां/चेतावनियां-> संभावित प्रोग्रामिंग समस्याएं-> बॉक्सिंग और अनबॉक्सिंग रूपांतरण" – Jayamohan

+0

आह, यह सही है! धन्यवाद। मुझे वह याद आया। मेरे पास केवल "नल पॉइंटर एक्सेस" सक्षम था। कृपया इसे उत्तर के रूप में पोस्ट करें :) –

+1

स्थिर विश्लेषण टूल का उपयोग करके ऑटोबॉक्सिंग की जांच कैसे करें, यह जानना अच्छा होगा। फिर इसे रात के निर्माण में एकीकृत किया जा सकता है। –

उत्तर

13

अपने ग्रहण में इस सेटिंग को सेट करें,

प्राथमिकताएं -> जावा -> संकलक -> त्रुटियाँ/चेतावनी -> संभावित प्रोग्रामिंग समस्याएं -> मुक्केबाजी और unboxing रूपांतरण।

+3

उम्मीद है कि वे बॉक्सिंग को अनबॉक्सिंग से अलग करते हैं। मुझे लगता है कि बॉक्सिंग मुझे अनबॉक्सिंग नहीं है: https://bugs.eclipse.org/bugs/show_bug.cgi?id=163065 – Kyle