Поєднання декількох приміток @SuppressWarnings - Eclipse Indigo


149

Таким чином, проблема полягає в тому, щоб поєднати кілька попереджувальних придушень, щоб кожен елемент не потребував його власного @SuppressWarningsанотації.

Так, наприклад:

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

Тепер замість того, щоб мати двох, @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 ("невикористаний", "не встановлений") не працює, змініть його на @SuppressWarnings ({"unused", "unconnected"})
Raj

Відповіді:


304

Використовуйте наступне: @SuppressWarnings({"unused", "unchecked"})


Це нормальна умова для всіх приміток у Eclipse?
knownasilya

1
Ні. Це для параметра списку. Використовуючи SDK для запуску Eclipse (або при вкладених джерелах Java), ви можете просто натиснути F3 на будь-яку примітку, щоб побачити її декларацію джерела, тим самим також побачивши, скільки (і які) параметри їй потрібно.
Bananeweizen

8
Це був би масив, як у String[] value(). Списки не мають спеціального синтаксису на Java, але масиви можна визначити за допомогою дужок.
Maarten Bodewes

14

Якщо ви заглянете все до примітки, ви побачите це:

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

як бачите, параметр значення є масивом Strings ... тому параметром в анотації може бути: 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") 

і це конкретний випадок, який дозволяє одному елементу дотепно відмітити " {} "

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.