Birden çok @SuppressWarnings ek açıklamasını birleştirme - Eclipse Indigo


150

Dolayısıyla sorun, çoklu uyarı bastırmalarını birleştirerek her öğenin kendi @SuppressWarningsaçıklamasına ihtiyaç duymamasıdır .

Yani mesela:

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

Şimdi iki tane olmak yerine, @SuppressWarningsbu iki uyarı için sınıf düzeyinde bir tane olmasını istiyorum, yani şöyle:

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

Ama bu geçerli bir sözdizimi değil, bunu yapmanın bir yolu var mı?


@SuppressWarnings çalışmıyor ( "kullanılmayan" "kontrolsüz") @SuppressWarnings ({ "kullanılmayan" "kontrolsüz"}) için değiştirmek lütfen
Raj

Yanıtlar:


307

Aşağıdakileri kullanın: @SuppressWarnings({"unused", "unchecked"})


Bu, Eclipse'deki tüm ek açıklamalar için normal bir kural mı?
bilinenasilya

1
Hayır. Bu bir liste parametresi içindir. Eclipse'i çalıştırmak için bir SDK kullanırken (veya Java kaynakları eklenmişken), kaynak bildirimini görmek için herhangi bir ek açıklamada F3'e basabilir ve böylece kaç (ve hangi) parametreye ihtiyaç duyduğunu da görebilirsiniz.
Bananeweizen

8
Bu, olduğu gibi bir dizi olurdu String[] value(). Listelerin Java'da özel sözdizimi yoktur, ancak diziler ayraçlar kullanılarak tanımlanabilir.
Maarten Bodewes

15

Ek açıklamanın içine bakarsanız şunu göreceksiniz:

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

gördüğünüz gibi, değer parametresi bir Dizeler dizisidir ... bu nedenle ek açıklamadaki parametre şöyle olabilir: değer1, değer2 veya değer3 burada

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

yani:

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

gibi bir şey göremezsin

@SuppressWarnings("unused") 

ve bu, " {} " içermeyen bir öğeye izin veren özel bir durumdur

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.