2017-06-14 50 views

回答

1

肯定有没有反映在所有的龙目岛使用排序代码生成的。它在AST(抽象语法树)级别上工作,即它与解析源一起工作,位于源代码和字节码之间。

Lombok的一部分是delombok,它显示了您确切地生成了什么代码。

1

The official site是如何@Builder作品非常清楚:

@Builder可以放在一类,或者在构造函数,或者一个方法。虽然“在类上”和“在构造函数”模式下是最常见的用例,但最容易用“方法”用例来解释@Builder

@Builder注解的方法(从现在起称为目标)导致产生以下7两件事:

  • 命名FooBuilder的内静态类,用相同类型的参数作为静态方法(称为建造者)。
  • 构建器:对于目标的每个参数的一个私有非静态非终结字段。
  • 构建器:包私有无参数空构造函数。
  • 构建器:对于目标的每个参数“类似于setter”的方法:它具有与该参数和相同名称相同的类型。它会自行返回构建器,以便可以将setter调用链接起来,如上例所示。
  • 构建器:A build()方法调用该方法,传入每个字段。它返回与目标返回相同的类型。
  • 建设者:明智的toString()实施。
  • 在含有目标的等级:A builder()方法,它创建助洗剂的新实例。

因此,例如,它可能是这样的:

​​