Введіть анотації в Java

Введіть анотації в Java

З появою Java 8 у версії були представлені дві нові функції, які називаються повторюваними анотаціями та анотаціями типу. До цього часу, якщо ви хотіли використовувати анотації в Java, ви могли робити це лише в оголошеннях. З Java 8 тепер ви можете додавати анотації до будь-якого типу використання. Де б ви не використовували тип (включаючи типи в оголошеннях, генерики та приведення), ви можете супроводжувати його анотацією.

Синтаксис анотації типу

Java 8 може оголошувати анотації типу при використанні будь-якого типу. Одним із прикладів є фрагмент нижче:

@Encrypted String data; Перелік рядків <@NonNull String>; myGraph = ( @Immutable Graph ) tmpGraph; Ви можете просто ввести новий тип анотації. Процес подібний до визначення анотації за допомогою цілі ElementType.TYPE_PARAMETER, цілі ElementType.TYPE_USE або обох цілей: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

Ціль ElementType.TYPE_PARAMETER означає, що ви можете написати анотацію до оголошення змінної типу (наприклад, клас MyClass {….}). Element.Type.TYPE_USE означає, що ви можете написати анотацію для будь-якого типу використання (а саме типів в оголошеннях, загальних і приведеннях).

Ви можете зберігати анотації у файлах класів, але це не впливає на виконання програми. Як приклад, ви можете оголосити дві змінні файлу та підключення, як показано в коді нижче:

Файл файлу = ….; @Encryted File encryptedFile = …; @Відкрите підключення = …; Під час виконання програми результат буде таким же, якщо ви передасте будь-який із двох файлів у метод send() підключення. з'єднання.відправка(файл); connection.send(encryptedFile);

 

Деякі приклади анотацій типу

@nonNull список Список <@NonNull String> str Масиви <@NonNegative Integer> сортування @Encypted File file @Open Connection connection void divideInteger (int a, int b) генерує @ZeroDivisior ArithmeticException

 

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.