CodeGym/Blog Java/Random-ES/Anotaciones. Parte 1: un poco aburrida
John Squirrels
Nivel 41
San Francisco

Anotaciones. Parte 1: un poco aburrida

Publicado en el grupo Random-ES
Parte 1. He escrito muy brevemente sobre las anotaciones del tipo SOURCE y CLASS. Vale la pena leer esto, para evitar perderse en la segunda parte y ampliar un poco su "malentendido" =) ¡Prometo que definitivamente habrá al menos una palabra que sepa! Anotaciones.  Parte 1 — un poco aburrida - 1 La primera vez que vi anotaciones en las tareas aquí, de alguna manera no les presté mucha atención. Hay @Override aquí y allá, pero IDEA lo agrega, así que pensé que tenía que ser así. Con el tiempo, me di cuenta de que todo es mucho más profundo. Mientras estudia, las anotaciones pueden parecer un tanto inútiles pero necesarias. No sabes por qué existen o qué hacen. Ha leído un par de artículos que decían: "Es genial que tengamos anotaciones ahora, todo se ha vuelto tan simple". Pero no sabía cómo eran las cosas antes, y no entendía que ahora las cosas son más fáciles. Ahora sí lo sé y quiero compartir un poco. Hay 3 tipos de anotaciones (RetentionPolicy):
  • SOURCE — Anotaciones para el compilador
  • CLASE : la información de la anotación se escribirá en código de bytes, pero no estará disponible en tiempo de ejecución. Dicen que la biblioteca estándar tiene muchas anotaciones de este tipo, que ahora se conservan por compatibilidad con versiones anteriores. Esto se utiliza para tareas muy específicas.
  • Preguntas y respuestas sobre StackOverflow
  • TIEMPO DE EJECUCIÓN : estas anotaciones son las más populares. Se utilizan mientras se ejecuta el código.
La introducción ocupó parte del artículo, por lo que escribiré aquí sobre las anotaciones SOURCE y CLASS. Estas son las anotaciones que pude encontrar (gracias a la Tarea 3607). No abordaré las anotaciones en tiempo de ejecución: hay demasiadas y no son el tema de este artículo. FUENTE:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/anotación/Generated.class
  • java/lang/Override.class
CLASE: No sé por qué son necesarias las anotaciones de CLASE. La documentación de las anotaciones existentes no se encuentra por ninguna parte, así que creo que puede dejar este equipaje atrás. Pero si lo encuentras, por favor comparte. Anotaciones de FUENTE:
  1. Nativo : una variable con esta anotación puede hacer referencia a código nativo;
  2. SuppressWarnings : esta anotación suprime varias advertencias del compilador;
  3. Generado : esta anotación marca el código fuente que se generó;
  4. Anular : esta anotación comprueba las anulaciones de métodos.
Para más información:

@Nativo

Nativo : nunca vi esto y nunca lo usé. Creo que esta es una anotación bastante rara, porque se usa cuando necesita ejecutar código en otro idioma "nativo". Intenté y no pude encontrar una mención clara al respecto.

@Suprimir advertencias

SuppressWarnings : esta anotación a menudo se usa así: @SuppressWarnings("sin marcar"). Se utiliza para suprimir advertencias que ya conoce. El ejemplo anterior suprime las advertencias sobre las conversiones de tipos no verificadas. Nuevamente, este es el único uso que he encontrado.

@Generado

Generado : me encuentro con esta anotación en este momento debido a una tarea en la que tengo que generar clases a partir de archivos XSD. Estas 3 anotaciones son bastante específicas y probablemente no le interesen en este momento. Describiré el último.

@Anular

Anular : lo usa constantemente y hace algo muy útil. Al anular un método, es fácil cometer un error sin la ayuda de IDEA. Ya sean errores tipográficos o errores simples, los errores ocurren. Esta anotación se asegurará de que el método en la clase principal coincida con nuestro método (anotado). Esto garantiza que el método se invalidará en lugar de agregarse. Al refactorizar el código, el método principal puede eliminarse o cambiarse. Nuevamente, esta anotación indicará un error. Sin él, nuestro método simplemente se agregaría. ¿Aburrido? Yo diría que sí. No hay mucho útil que extraer de este artículo. Casi todo (90%) aquí describe algo que nunca usará o solo muy raramente. El 10% restante está saludando y describiendo la anotación @Override, que a primera vista es inútil. Dicho esto, creo que en la segunda parte del artículo será más interesante. Hablaremos sobre las anotaciones RUNTIME: interactúan con el código durante la ejecución y hacen magia negra. Anotaciones. Parte 2. Lombok
Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios