2012-10-25 11 views
106

तो समस्या बहुगुण चेतावनी दमन को गठबंधन करने में सक्षम है ताकि प्रत्येक आइटम को इसकी @SuppressWarnings एनोटेशन की आवश्यकता न हो।एकाधिक @SuppressWarnings एनोटेशन का संयोजन - ग्रहण इंडिगो

@SuppressWarnings("unused", "unchecked") 
public class Example 
    public Example() { 
     GO go = new GO(); // unused - suppressed 
     .... 
     List<String> list = (List<String>) go.getList(); // unchecked - suppressed 
    } 
    ... 
    // getters/setters/other methods 
} 

लेकिन वह नहीं है: बजाय दो @SuppressWarnings मैं, उन दो चेतावनी के लिए श्रेणी स्तर पर एक करना चाहते हैं तो इस तरह होने के

public class Example 
    public Example() { 
     GO go = new GO(); // unused 
     .... 
     List<String> list = (List<String>) go.getList(); // unchecked 
    } 
    ... 
    // getters/setters/other methods 
} 

अब:

उदाहरण के लिए

तो एक वैध वाक्यविन्यास, क्या ऐसा करने का कोई तरीका है?

+0

@SuppressWarnings (अनुमति दे रहा है "अप्रयुक्त", "अनचेक") काम नहीं करता है कृपया इसे @SuppressWarnings ({"अप्रयुक्त", "अनचेक"} में संशोधित करें) – Raj

उत्तर

218

उपयोग निम्नलिखित: @SuppressWarnings({"unused", "unchecked"})

+0

क्या यह सभी टिप्पणियों के लिए सामान्य सम्मेलन है I एन ग्रहण? – knownasilya

+1

नहीं। यह एक सूची पैरामीटर के लिए है। ग्रहण (या जावा स्रोत संलग्न होने पर) चलाने के लिए एसडीके का उपयोग करते समय, आप किसी भी एनोटेशन पर एफ 3 को अपने स्रोत घोषणा देखने के लिए हिट कर सकते हैं, जिससे यह भी देख सकता है कि कितने (और कौन से) पैरामीटर की आवश्यकता है। – Bananeweizen

+6

यह एक सरणी होगी, जैसा कि 'स्ट्रिंग [] मान() 'में है। सूची में जावा में विशेष वाक्यविन्यास नहीं है, लेकिन सरणी को ब्रेसिज़ का उपयोग करके परिभाषित किया जा सकता है। –

8

आप एनोटेशन के अंदर एक बार देख ले, तो आप इस देखेंगे:

public @interface SuppressWarnings { 
    String[] value(); 
} 

जैसा कि आप देख, मूल्य पैरामीटर तार की एक सरणी है .. इसलिए एनोटेशन में पैरामीटर हो सकता है: value1, value2 या value3 जहां

final String[] value1 = { "a1" }; 
final String[] value2 = { "a1", "a2" }; 
final String[] value3 = { "a1", "a2", "a3" }; 

अर्थात्:

@SuppressWarnings({"unused"}) 
@SuppressWarnings({"unused", "javadoc"}) 

आप बार बार देख सकते हैं

की तरह कुछ
@SuppressWarnings("unused") 

और यह एक विशेष मामले एक तत्व बुद्धि नहीं "{}"

संबंधित मुद्दे