«1. Обзор

В этом кратком руководстве мы рассмотрим, как использовать аннотацию @SuppressWarnings.

2. @SuppressWarnings Annotation

Предупреждающие сообщения компилятора обычно полезны. Однако иногда предупреждения могут быть шумными.

Особенно когда мы не можем или не хотим их решать:

public class Machine {
    private List versions;

    public void addVersion(String version) {
        versions.add(version);
    }
}

Компилятор выдаст предупреждение об этом методе. Он предупредит, что мы используем коллекцию с необработанным типом. Если мы не хотим исправлять предупреждение, мы можем подавить его с помощью аннотации @SuppressWarnings.

Эта аннотация позволяет нам указать, какие виды предупреждений следует игнорировать. Хотя типы предупреждений могут различаться в зависимости от поставщика компилятора, два наиболее распространенных — это устаревание и отсутствие проверки.

deprecation говорит компилятору игнорировать, когда мы используем устаревший метод или тип.

unchecked указывает компилятору игнорировать, когда мы используем необработанные типы.

Итак, в нашем примере выше мы можем подавить предупреждение, связанное с использованием нашего необработанного типа:

public class Machine {
    private List versions;

    @SuppressWarnings("unchecked")
    // or
    @SuppressWarnings({"unchecked"})
    public void addVersion(String version) {
        versions.add(version);
    }
}

Чтобы подавить список из нескольких предупреждений, мы устанавливаем массив String, содержащий соответствующий список предупреждений:

@SuppressWarnings({"unchecked", "deprecated"})

3. Заключение

В этом руководстве мы увидели, как можно использовать аннотацию @SuppressWarnings в Java.

Полный исходный код примеров можно найти на GitHub.