Diferencia de implementación entre Lombok y AutoValue [cerrado]

7

Pensé que tanto Project Lombok & AutoValue usó procesadores de anotación del compilador, pero de /presentation/d/14u_h-lMn7f1rXE1nDiLX0azS3IkgjGl5uxp5jGJ75RE/edit#slide=id.g2a5placaspañal de la mano /pañol de la mano / la naturaleza de la naturaleza de la naturaleza, la naturaleza, la naturaleza, la naturaleza, la presentación de diapositivas. / a> parece que Lombok no ... o al menos no procesadores de anotaciones solos. ¿Cuál es la diferencia en la forma en que Lombok & AutoValue usa procesadores de anotación?

    
pregunta Dale Wijnand 20.03.2014 - 00:31

1 respuesta

13

AutoValue es un procesador de anotaciones Java estándar, lo que significa que usa solo las interfaces javax. * para el procesamiento de anotaciones. Lombok también es un procesador de anotaciones, pero hace referencia a clases específicas de implementación para hacer cosas que los procesadores estándar no pueden. En particular, cambia el código que se genera para las clases de origen, por ejemplo, insertando los métodos de obtención y establecimiento. El estándar para los procesadores de anotación no lo permitió muy deliberadamente porque se consideró que violaba las cualidades WYSIWYG de Java.

Debido a que Lombok hace referencia a clases no estándar, es mucho más frágil, ya que esas clases pueden cambiar entre versiones. También está obligado a tener dos implementaciones paralelas para los dos compiladores principales de Java (JDK y Eclipse).

    
respondido por el user2624542 23.04.2014 - 16:58

Lea otras preguntas en las etiquetas