Annotations de type en Java

Annotations de type en Java

Avec l'introduction de Java 8, la version a introduit deux nouvelles fonctionnalités appelées annotations répétitives et annotations de type. Jusqu'à présent, si vous vouliez utiliser des annotations en Java, vous ne pouviez le faire que dans les déclarations. Avec Java 8, vous pouvez désormais ajouter des annotations à n'importe quel type d'utilisation. Partout où vous utilisez un type (y compris les types dans les déclarations, les génériques et les conversions), vous pouvez l'accompagner d'une annotation.

Syntaxe d'annotation de type

Java 8 peut déclarer des annotations de type sur n'importe quelle utilisation de type. Un exemple est l'extrait ci-dessous :

@Données de chaîne chiffrées ; Lister les chaînes <@NonNull String> ; myGraph = ( @Immutable Graph ) tmpGraph; Vous pouvez simplement introduire une nouvelle annotation de type. Le processus est similaire à la définition d'une annotation avec la cible ElementType.TYPE_PARAMETER, la cible ElementType.TYPE_USE ou les deux cibles : @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

La cible ElementType.TYPE_PARAMETER signifie que vous pouvez écrire l'annotation sur la déclaration d'une variable de type (par exemple la classe MyClass {….}). L'Element.Type.TYPE_USE signifie que vous pouvez écrire l'annotation sur n'importe quel type d'utilisation (à savoir les types dans les déclarations, les génériques et les conversions).

Vous pouvez enregistrer des annotations dans des fichiers de classe, mais cela n'affecte ni n'influence l'exécution du programme. Par exemple, vous pouvez déclarer deux variables File et une connexion comme indiqué dans le code ci-dessous :

Fichier fichier = ….; @Fichier crypté fichier crypté = … ; @Open Connexion connexion = … ; Pendant que vous exécutez le programme, le résultat sera le même si vous passez l'un des deux fichiers à la méthode send() de la connexion. connexion.send(fichier); connection.send(encryptedFile);

 

Quelques exemples d'annotations de type

@nonNull Liste List <@NonNull String> str Arrays <@NonNegative Integer> sort @Encypted File file @Open Connection connection void DivideInteger (int a, int b) throws @ZeroDivisior ArithmeticException

 

Laissez un commentaire

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..