Spec-Zone.ru › OpenJDK 21

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

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

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

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

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

  • Предупреждения типа unchecked, заданные строкой "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
Набор предупреждений, которые должны быть подавлены компилятором в помеченном элементе. Повторяющиеся имена разрешены. Второе и последующие вхождения имени игнорируются. Наличие неизвестных имен предупреждений не является ошибкой: компиляторы должны игнорировать любые имена предупреждений, которые они не распознают. Однако они могут выдать предупреждение, если аннотация содержит неизвестное имя предупреждения.
Возвращает:
набор подавляемых предупреждений

© 1993, 2023, 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/21/docs/api/java.base/java/lang/SuppressWarnings.html

Spec-Zone.ru

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