Tippige Javas märkused

Tippige Javas märkused

Java 8 kasutuselevõtuga on versioonis kasutusele võetud kaks uut funktsiooni, mida nimetatakse korduvateks annotatsioonideks ja tüübimärkusteks. Seni, kui soovisite kasutada annotatsioone Javas, saite seda teha ainult deklaratsioonides. Java 8 abil saate nüüd lisada märkusi mis tahes tüüpi kasutusviisidele. Kus iganes te tüüpi kasutate (hõlmab tüüpe deklaratsioonides, üldnimetustes ja häältestustes), saate sellele lisada märkuse.

Sisestage annotatsiooni süntaks

Java 8 suudab deklareerida tüübimärkusi mis tahes tüüpi kasutusel. Üks näide on allolev katkend:

@Krüptitud stringi andmed; Loetlege stringid <@NonNull String>; myGraph = ( @Immutable Graph ) tmpGraph; Saate lihtsalt kasutusele võtta uut tüüpi märkuse. Protsess sarnaneb märkuse määratlemisega sihtmärgi ElementType.TYPE_PARAMETER, ElementType.TYPE_USE või mõlema sihtmärgiga: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) avalik @liides Krüpteeritud { }

ElementType.TYPE_PARAMETER sihtmärk tähendab, et saate kirjutada annotatsiooni tüübimuutuja deklaratsioonile (nt klass MyClass {….}). Element.Type.TYPE_USE tähendab, et saate kirjutada annotatsiooni mis tahes kasutustüübi kohta (nimelt tüübid deklaratsioonides, üldised ja heited).

Saate salvestada märkusi klassifailidesse, kuid see ei mõjuta ega mõjuta programmi täitmist. Näiteks saate deklareerida kaks failimuutujat ja ühenduse, nagu on näidatud allolevas koodis:

Failifail = ….; @Encryted File encryptedFile = …; @Ava Ühenduse ühendus = …; Programmi täitmise ajal on tulemus sama, kui edastate ühe kahest failist ühenduse meetodile send(). ühendus.saata(fail); ühendus.send(krüptitud fail);

 

Mõned näited tüübimärkuste kohta

@nonNull nimekiri Loetelu <@NonNull String> str Massiivid <@NonNegative Integer> sort @Encrypted File file @Open Connection ühendus void divideInteger (int a, int b) viskab @ZeroDivisor ArithmeticException

 

Kommenteeri

Sellel saidil kasutatakse rämpsposti vähendamiseks Akismetit. Vaadake, kuidas teie andmeid töödeldakse.