Перейти к основному содержимому

Аннотация Java @SuppressWarnings

· 2 мин. чтения

Задача: Наибольшая подстрока без повторений

Для заданной строки s, найдите длину наибольшей подстроки без повторяющихся символов. Подстрока — это непрерывная непустая последовательность символов внутри строки...

ANDROMEDA 42

1. Обзор

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

2. Аннотация @SuppressWarnings

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

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

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 .