2010-12-11 11 views
11

नेटबीन्स बहुत सारे कस्टम "संकेत" प्रदान करता है, जो चेतावनियों की तरह हैं, केवल उनमें से अधिकतर को दबाया नहीं जा सकता है (केवल आईडीई-वैश्विक रूप से अक्षम)।जावा: @SuppressWarnings (...) पैरामीटर की पूरी सूची (Netbeans में)?

लेकिन जो

@SuppressWarnings("element-type-mismatch") 

का उपयोग करता है अब मैं कोड देख एक संकेत/चेतावनी जो "संदिग्ध विधि कॉल" (जैसे एक "गलत" प्रकार के साथ एक संग्रह के लिए remove(...)) कहा जाता है को दबाने के लिए।

ठीक है, मैं SuppressWarnings के साथ "संदिग्ध विधि कॉल" नामक एक संकेत को दबाने के विचार पर कभी नहीं आऊंगा- "तत्व-प्रकार-मेलमिच" नामक पैरामीटर, लेकिन जाहिर है, यह काम करता है।

तो, क्या ऐसे पैरामीटर की "जादू सूची" है?

उदाहरण के लिए, क्या मैं संकेत/चेतावनी "संग्रह क्षेत्र की वापसी" को दबाता हूं?

नोट: this similar question के लिए, "तत्व-प्रकार-मेलमिच" सूचीबद्ध नहीं है।

उत्तर

12

नायब-sourcecode पर एक संक्षिप्त देखो के बाद, मैं java.hint -कक्षाएं में से कुछ में इन पाया:

@Hint(category="bitwise_operations", suppressWarnings="IncompatibleBitwiseMaskOperation") 
@Hint(category="initialization", suppressWarnings="LeakingThisInConstructor") 
@Hint(category="logging", suppressWarnings={"NonConstantLogger"}) //NOI18N 
@Hint(category="logging", suppressWarnings={"ClassWithMultipleLoggers"}) //NOI18N 
@Hint(category="logging", suppressWarnings={"ClassWithoutLogger"}, enabled=false) //NOI18N 
@Hint(category="code_maturity", suppressWarnings="UseOfObsoleteCollectionType") 
@Hint(category="initialization", suppressWarnings="OverridableMethodCallInConstructor") 
@Hint(category="bitwise_operations", suppressWarnings="PointlessBitwiseExpression") 
@Hint(category="code_maturity", suppressWarnings="CallToThreadDumpStack") 
@Hint(category="bitwise_operations", suppressWarnings="ShiftOutOfRange") 
@Hint(category="initialization", suppressWarnings="StaticNonFinalUsedInInitialization") 
@Hint(category="code_maturity", enabled = false, suppressWarnings="UseOfSystemOutOrSystemErr") 
@Hint(category="code_maturity", suppressWarnings="CallToPrintStackTrace") 

जाहिर है, नहीं सभी आईडीई-संकेत चेतावनी के रूप में प्रदर्शित कर रहे हैं कि suppressable बना रहे हैं। .. पता नहीं क्यों, 'सार तत्व श्रेणी का कारण बनता है, जिनमें से कई आसानी से इस क्षमता को प्रदान करते हैं ... ये केवल दमन-नाम हैं, इसलिए वे जिन चेतावनियों का प्रतिनिधित्व करते हैं उनके नाम पर मैपिंग ढूंढने के लिए , स्रोत में एक गहरी खुदाई की जरूरत है।

+1

@SuppressWarnings ("PublicField") NetBeans 8.2 में काम करता है। –

1

documentation का कहना है:

संकलक विक्रेताओं चेतावनी नामों वे इस टिप्पणी का प्रकार के साथ संयोजन के रूप में समर्थन दस्तावेज़ चाहिए। उन्हें यह सुनिश्चित करने के लिए सहयोग करने के लिए प्रोत्साहित किया जाता है कि एक ही नाम एकाधिक कंपाइलरों में काम करता है।

चूंकि NetBeans javac का उपयोग कर रहा है, मुझे लगता है, here is a list

See also this question

यदि आप किसी अन्य कंपाइलर या कुछ कंपाइलर प्लगइन का उपयोग कर रहे हैं, तो इसके दस्तावेज़ों की खोज करें।

+1

खैर, इन संसाधनों में से कोई भी शामिल है "घटक-प्रकार-बेमेल ";) हां, मैंने इससे संबंधित नेटबींस दस्तावेज की खोज की, लेकिन सफलता के बिना। –

+1

अच्छी तरह से, यह गैर मानक लगता है, और दस्तावेज नहीं है (मुझे लगता है कि आप भी googled)। जो बुरा है – Bozho

1

अच्छी तरह से सूची खोजने के लिए मुश्किल है। Netbeans के hint classes के स्रोतों को मिला।

तो 'सूची' here है। (यह भी उप संकुल को देखो, जैसे jdk और perf)

सभी वर्गों की तरह अपने camel cases नाम का उपयोग करके दबा जा सकता है:

// org.netbeans.modules.java.hints.jdk.UnnecessaryBoxing.java 
@SuppressWarnings("UnnecessaryBoxing") 
संबंधित मुद्दे