Аннотации типов в Java

Аннотации типов в Java

С появлением Java 8 в версии появились две новые функции, называемые повторяющимися аннотациями и аннотациями типов. До сих пор, если вы хотели использовать аннотации в Java, вы могли делать это только в объявлениях. С Java 8 теперь вы можете добавлять аннотации к любому типу использования. Везде, где вы используете тип (включая типы в объявлениях, обобщениях и приведениях), вы можете сопровождать это аннотацией.

Синтаксис аннотации типа

Java 8 может объявлять аннотации типов при использовании любого типа. Одним из примеров является фрагмент ниже:

@Зашифрованные строковые данные; Список строк <@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 означает, что вы можете написать аннотацию для любого типа использования (а именно типов в объявлениях, дженериков и приведений).

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

Файл файл = ….; @Encryted File зашифрованный файл = …; @Открыть соединение соединение = …; Пока вы выполняете программу, результат будет таким же, если вы передадите любой из двух файлов методу соединения send(). соединение.отправить(файл); соединение.отправить (зашифрованный файл);

 

Некоторые примеры аннотаций типов

@nonNull Список List <@NonNull String> str Arrays <@NonNegative Integer> sort @Encypted File file @Open Connection connection void DivisionInteger (int a, int b) throws @ZeroDivisior ArithmeticException

 

Оставить комментарий

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.