Spec-Zone.ru › OpenJDK 24

Интерфейс аннотаций SuppressWarnings

@Retention(SOURCE) public @interface SuppressWarnings
Указывает предупреждения, которые должны быть подавлены на этапе компиляции в аннотированном элементе и во всех элементах, содержащихся в аннотированном элементе.

Интерфейс аннотаций SuppressWarnings применим во всех контекстах объявления, поэтому аннотацию @SuppressWarnings можно использовать на любом элементе. В целях стилистики программисты должны всегда использовать эту аннотацию на самом вложенном элементе, где она эффективна. Например, если вы хотите подавить предупреждение в определённом методе, вы должны аннотировать этот метод, а не его класс.

Множество предупреждений, подавляемых в данном элементе, является объединением предупреждений, подавляемых во всех содержащих элементах. Например, если вы аннотируете класс, чтобы подавить одно предупреждение, и аннотируете метод в классе, чтобы подавить другое, оба предупреждения будут подавлены в методе. Однако обратите внимание, что если предупреждение подавлено в файле module-info, подавление применяется к элементам внутри файла и не к типам, содержащимся в модуле. Аналогично, если предупреждение подавлено в файле package-info, подавление применяется к элементам внутри файла и не к типам, содержащимся в пакете.

Компиляторы Java должны распознавать все типы предупреждений, определённые в Спецификации языка Java (раздел JLS 9.6.4.5), которые включают:

  • Предупреждения о неявных преобразованиях, указанные строкой "unchecked".
  • Предупреждения о устаревании, указанные строкой "deprecation".
  • Предупреждения об удалении, указанные строкой "removal".
  • Предупреждения о предварительной версии, указанные строкой "preview".
Вопрос о том, распознает ли компилятор Java другие строки, относится к качеству реализации. Продавцы компиляторов должны документировать дополнительные имена предупреждений, которые они поддерживают. Продавцы поощряются к сотрудничеству, чтобы обеспечить, что одни и те же имена работают в нескольких компиляторах.
Примечание по реализации:
В дополнение к обязательным строкам подавления, справочная реализация javac распознаёт имена предупреждений, связанные с компиляцией, задокументированные в её выводе --help-lint.
См. Спецификацию языка Java:
4.8 Примитивные типы
4.12.2 Переменные ссылочного типа
5.1.9 Непроверенное преобразование
5.5 Контексты приведения типов
9.6.4.5 @SuppressWarnings
С:
1.5

Краткое описание обязательных элементов

Модификатор и тип Обязательный элемент Описание
String[] value
Множество предупреждений, которые должны быть подавлены компилятором в аннотированном элементе.

Подробное описание элементов

value

String[] value
Множество предупреждений, которые должны быть подавлены компилятором в аннотированном элементе. Повторные имена разрешены. Второе и последующие вхождения имени игнорируются. Наличие нераспознанных имён предупреждений не является ошибкой: компиляторы должны игнорировать любые имена предупреждений, которые они не распознают. Однако они могут выдать предупреждение, если аннотация содержит нераспознанное имя предупреждения.
Возвращает:
множество предупреждений, которые должны быть подавлены

Отправить отчёт об ошибке или предложить улучшение
Для получения дополнительной справки по API и документации для разработчиков см. Документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными путями и примерами рабочего кода. Другие версии.
Java — товарный знак или зарегистрированный товарный знак Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчиняется лицензионным условиям и политике перераспределения документации.
ПРОЕКТ 24-ea+36-Debian-1

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/SuppressWarnings.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API