I-type ang mga Anotasyon sa Java

I-type ang mga Anotasyon sa Java

Uban sa pagpaila sa Java 8, ang bersyon nagpaila sa duha ka bag-ong mga feature nga gitawag og repeating annotation ug type annotation. Hangtud niining panahona, kung gusto nimo gamiton ang mga anotasyon sa Java, mahimo ra nimo kini buhaton sa mga deklarasyon. Uban sa Java 8, karon mahimo nimong idugang ang mga anotasyon sa bisan unsang klase nga paggamit. Bisan asa ka naggamit ug usa ka tipo (naglakip sa mga tipo sa mga deklarasyon, generics, ug mga cast), mahimo nimong iuban kana sa usa ka anotasyon.

Type Annotation Syntax

Ang Java 8 mahimong magpahayag sa mga anotasyon sa tipo sa bisan unsang klase nga paggamit. Usa ka pananglitan mao ang snippet sa ubos:

@Encrypted String data; Ilista ang <@NonNull String> mga kuwerdas; myGraph = ( @Immutable Graph ) tmpGraph; Mahimo nimong ipaila ang usa ka bag-ong tipo nga anotasyon. Ang proseso susama sa pagpasabot sa usa ka annotation uban sa ElementType.TYPE_PARAMETER target, ElementType.TYPE_USE target, o pareho nga target: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

Ang ElementType.TYPE_PARAMETER nga target nagpaila nga mahimo nimong isulat ang anotasyon sa deklarasyon sa usa ka variable nga tipo (eg klase nga MyClass {….}). Ang Element.Type.TYPE_USE nagpaila nga mahimo nimong isulat ang anotasyon sa bisan unsang tipo sa paggamit (nga mao ang mga tipo sa mga deklarasyon, generics, ug mga cast).

Mahimo nimong tipigan ang mga anotasyon sa mga file sa klase, apan dili kini makaapekto o makaimpluwensya sa pagpatuman sa programa. Isip usa ka pananglitan, mahimo nimong ipahayag ang duha ka mga variable sa File ug usa ka koneksyon sama sa gipakita sa code sa ubos:

File file = ….; @Encryted File encryptedFile = …; @Open Koneksyon koneksyon = …; Samtang imong gipatuman ang programa, ang resulta mahimong parehas kung imong ipasa ang bisan hain sa duha ka mga file sa paagi sa pagpadala () sa koneksyon. connection.send(file); connection.send(encryptedFile);

 

Pipila ka Ehemplo sa Type Annotation

@diliNull List Ilista ang <@NonNull String> str Arrays <@NonNegative Integer> sort @Encypted File file @Open Connection connection void divideInteger (int a, int b) throws @ZeroDivisior ArithmeticException

 

Leave sa usa ka comment

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.