Differenza di implementazione tra Lombok e AutoValue [chiuso]

7

Pensavo che sia Project Lombok & AutoValue utilizzati processori di annotazione del compilatore, ma da questa presentazione diapositiva e questa risposta stackoverflow sembra che Lombok non ... o almeno non processori di annotazione da solo. Qual è la differenza nel modo in cui Lombok & AutoValue usa processori di annotazione?

    
posta Dale Wijnand 20.03.2014 - 00:31
fonte

1 risposta

13

AutoValue è un processore di annotazione Java standard, il che significa che utilizza solo le interfacce javax. * per l'elaborazione delle annotazioni. Lombok è anche un processore di annotazioni, ma fa riferimento a classi specifiche dell'implementazione per fare cose che i processori standard non possono fare. In particolare, modifica il codice generato per le classi di origine, ad esempio inserendo metodi getter e setter. Lo standard per i processori di annotazione lo ha deliberatamente vietato perché si è ritenuto che violasse le qualità WYSIWYG di Java.

Poiché Lombok fa riferimento a classi non standard è molto più fragile, in quanto tali classi possono cambiare tra le versioni. È inoltre necessario disporre di due implementazioni parallele per i due principali compilatori Java (JDK ed Eclipse).

    
risposta data 23.04.2014 - 16:58
fonte

Leggi altre domande sui tag