Spis treści
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
Komentarze 0