Wpisz adnotacje w Javie

Wpisz adnotacje w Javie

Wraz z wprowadzeniem Java 8, wersja wprowadziła dwie nowe funkcje zwane powtarzającymi się adnotacjami i adnotacjami typu. Do tego czasu, jeśli chciałeś używać adnotacji w Javie, mogłeś to robić tylko w deklaracjach. Dzięki Javie 8 możesz teraz dodawać adnotacje do dowolnego typu. Wszędzie tam, gdzie używasz typu (w tym typów w deklaracjach, rodzajach i rzutowaniach), możesz dołączyć do tego adnotację.

Składnia adnotacji typu

Java 8 może deklarować adnotacje typu w dowolnym użyciu typu. Jednym z przykładów jest poniższy fragment:

@Zaszyfrowane dane ciągu; Wyświetl listę ciągów <@NonNull String>; myGraph = ( @Immutable Graph ) tmpGraph; Możesz po prostu wprowadzić adnotację nowego typu. Proces jest podobny do definiowania adnotacji z celem ElementType.TYPE_PARAMETER, elementem ElementType.TYPE_USE lub obydwoma celami: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

Cel ElementType.TYPE_PARAMETER oznacza, że ​​można napisać adnotację na deklaracji typu zmiennej (np. klasa MyClass {….}). Element.Type.TYPE_USE oznacza, że ​​można napisać adnotację do dowolnego typu użycia (mianowicie typów w deklaracjach, rodzajach i rzutowaniach).

Możesz zapisywać adnotacje w plikach klas, ale nie wpływa to ani nie wpływa na wykonanie programu. Jako przykład możesz zadeklarować dwie zmienne pliku i połączenie, jak pokazano w poniższym kodzie:

Plik plik = ….; @Encrited Plik zaszyfrowanyFile = …; @Otwarte połączenie połączenia = …; Podczas wykonywania programu wynik będzie taki sam, jeśli przekażesz jeden z dwóch plików do metody send() połączenia. połączenie.wyślij(plik); connection.send(encryptedFile);

 

Kilka przykładów adnotacji typu

@Null Lista List <@NonNull String> str Tablice <@NonNegative Integer> sort @Encypted Plik plik @Open Połączenie połączenia void divideInteger (int a, int b) wyrzuca @ZeroDivisior ArithmeticException

 

Zostaw komentarz

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane komentarza.