РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
128 of 1163 menu

Поле PARAMETER класса ElementType

Поле PARAMETER класса ElementType используется в аннотации @Target и указывает, что аннотация может быть применена к параметру метода или конструктора. Это позволяет помечать входящие аргументы методов и конструкторов, что особенно полезно для документирования, валидации и анализа кода. В сочетании с другими полями класса ElementType данное поле позволяет гибко настраивать область применения пользовательских аннотаций.

Синтаксис

@Target(ElementType.PARAMETER)

Пример

Давайте создадим аннотацию @MyAnnotation, которая может применяться только к параметрам метода:

import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(ElementType.PARAMETER) @interface MyAnnotation { } public class Main { public static void printName(@MyAnnotation String name) { System.out.println(name); } public static void main(String[] args) { printName("abcde"); } }

Результат выполнения кода:

"abcde"

Пример

Давайте попробуем применить аннотацию @MyAnnotation к методу, а не к параметру, чтобы убедиться, что компилятор выдаст ошибку:

import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(ElementType.PARAMETER) @interface MyAnnotation { } public class Main { @MyAnnotation public static void printName(String name) { System.out.println(name); } public static void main(String[] args) { printName("abcde"); } }

Результат выполнения кода:

error: annotation type not applicable to this kind of declaration

Пример

Давайте создадим аннотацию, которая может применяться как к параметрам, так и к полям класса:

import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target({ElementType.PARAMETER, ElementType.FIELD}) @interface MyAnnotation { } public class Main { @MyAnnotation private String field = "12345"; public static void printValue(@MyAnnotation String value) { System.out.println(value); } public static void main(String[] args) { Main obj = new Main(); System.out.println(obj.field); printValue("abcde"); } }

Результат выполнения кода:

"12345" "abcde"

Смотрите также

  • класс ElementType,
    который содержит типы элементов для аннотаций
  • аннотация Target,
    которая задает область применения аннотации
  • поле METHOD,
    которое указывает на применение к методам
  • поле FIELD,
    которое указывает на применение к полям класса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить