Escribe anotaciones en Java

Escribe anotaciones en Java

Con la introducción de Java 8, la versión ha introducido dos nuevas características llamadas anotaciones repetidas y anotaciones de tipo. Hasta este momento, si quería usar anotaciones en Java, solo podía hacerlo en las declaraciones. Con Java 8, ahora puede agregar anotaciones a cualquier tipo de uso. Siempre que esté usando un tipo (incluye tipos en declaraciones, genéricos y conversiones), puede acompañarlo con una anotación.

Sintaxis de anotación de tipo

Java 8 puede declarar anotaciones de tipo en cualquier uso de tipo. Un ejemplo es el siguiente fragmento:

@Datos de cadena cifrada; Lista de cadenas <@NonNull String>; myGraph = ( @Immutable Graph ) tmpGraph; Simplemente puede introducir una nueva anotación de tipo. El proceso es similar a definir una anotación con el destino ElementType.TYPE_PARAMETER, ElementType.TYPE_USE o ambos destinos: @Target ( { ElementType.TYPE_PARAMETER, ElementType.TYPE_USE } ) public @interface Encrypted { }

El objetivo ElementType.TYPE_PARAMETER significa que puede escribir la anotación en la declaración de una variable de tipo (por ejemplo, clase MyClass {….}). Element.Type.TYPE_USE significa que puede escribir la anotación en cualquier tipo de uso (es decir, tipos en declaraciones, genéricos y conversiones).

Puede guardar anotaciones en archivos de clase, pero no afecta ni influye en la ejecución del programa. Como ejemplo, puede declarar dos variables de archivo y una conexión como se muestra en el siguiente código:

archivo archivo = ….; @Archivo Encryted archivo encriptado = …; @Conexión abierta conexión = …; Mientras ejecuta el programa, el resultado será el mismo si pasa cualquiera de los dos archivos al método send() de la conexión. conexión.send(archivo); conexión. enviar (archivo cifrado);

 

Algunos ejemplos de anotaciones de tipo

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

 

Déjame tu comentario

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.