Spec-Zone.ru › OpenJDK 25

Интерфейс аннотации 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 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/SuppressWarnings.html

Spec-Zone.ru

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