2012-10-25 7 views
106

したがって、マルチプル警告抑制を組み合わせて、各項目に独自の@SuppressWarningsアノテーションが必要ないようにすることができます。例えばので複数の@SuppressWarningsアノテーションを組み合わせる - Eclipse Indigo

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

今すぐ代わりに2 @SuppressWarningsを有していると私はこのように、これら2つの警告のためのクラスレベルで1を持つようにしたい:

@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 
} 

をしかし、それはないです有効な構文は、これを行う方法はありますか?

+0

@SuppressWarningsを(可能特定のケースであります"unused"、 "unchecked")が動作しない@SuppressWarnings({"unused"、 "unchecked"}) – Raj

答えて

218

次を使用します。 @SuppressWarnings({"unused", "unchecked"})

+0

これはすべての注釈iの通常の規約ですかn Eclipse? – knownasilya

+1

いいえこれはリストパラメータ用です。 SDKを使用してEclipseを実行する場合(またはJavaソースが添付されている場合)、アノテーションのF3キーを押すだけでソース宣言が表示され、必要なパラメータの数がわかります。 – Bananeweizen

+6

これは 'String [] value()'のように配列になります。リストにはJavaでは特殊な構文はありませんが、中括弧を使用して配列を定義できます。 –

8

アノテーションの内側を見ている場合は、この表示されます。

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

あなたが見るように、パラメータは、文字列の配列です。.. 。 注釈内のパラメータは、 値1、値2または値3となります。

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

すなわち:

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

あなたはしばしば

@SuppressWarnings("unused") 

のようなものを見ることができ、これは1つの要素ウィットなし "{}"

関連する問題