Lombok如何在现有类上生成代码?

时间:2016-11-03 11:44:28

标签: java android annotations lombok

我可以使用注释处理器从头开始生成类,但我无法像lombok那样修改类。我已经在android studio中搜索了lombok生成的类,但我什么都没发现。然后我通过他们的网站查看了lombok概述,并在论坛中对其进行了调查,但我最终没有任何内容。我的问题其实很简单。例如,当我使用@Setter时,lombok如何将生成的代码与地雷统一起来。我怎样才能开发出像?

这样的处理器

2 个答案:

答案 0 :(得分:6)

看起来像How does lombok work?的副本,我会标记为关闭,但你的赏金正在阻止它。

简而言之,Lombok根本不会生成代码。相反,它使用未指定和未记录的内部编译器实现api调用,在读取源代码和输出编译的字节码之间直接修改程序的抽象语法树。它可以在没有警告的情况下破坏或者在更新到新的编译器版本时发出通知,但目前没有别的办法。

答案 1 :(得分:-1)

Lombok在编译阶段生成代码。这是http://hannesdorfmann.com/annotation-processing/annotationprocessing101的教程。

如果您都是新手来宣布自己的注释,我强烈建议您开始使用运行时注释。它们更易于理解和调试,而且您的代码更容易理解和行动。在运行时阶段,您已经熟悉了。一个简短的教程:http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html