项目Lombok与Eclipse模板/代码生成

hel*_*hod 13 eclipse code-generation lombok

与Eclipse中的代码模板/代码生成相比,Project Lombok是否提供了任何好处?是否有任何缺点(除了包括.jar)?

Gar*_*ryF 21

Lombok的一个优点是,一旦你用@Data注释注释了一个类,你就不需要在进行更改时重新生成代码.例如,如果添加新字段,@ Data将自动在equals,hashCode和toString方法中包含该字段.使用Eclipse生成的方法时,您需要手动进行更改.有些时候,你可能更喜欢手动控制,但在大多数情况下,我希望不会.


Boz*_*zho 12

Lombok的优势在于代码实际上并不存在 - 即类更易读并且不会混乱.


Ivi*_*vin 6

好处:

  • 非常好用
  • 类更清晰('没有样板代码'),特别是'struct'类内部类缩小到最低限度:

    @Data private class AttrValue { private String attribute; private MyType value; }

    这将创建getter和setter,toString()和正确的hash()/ equals()方法,包括两个变量.变体与@Value创建不可变结构(没有setter,所有字段final).

  • 更改字段时无需生成/删除代码(getters,setters,toString,hash,equals)
  • 不干扰手工编码方法:只需将您自己的特定设置器添加到需要的类中.龙目岛跳过此并生成其他所有内容

缺点:

  • 没有名称重构,但是:value上面的重命名将不会(还)重命名getValue()setValue()
  • 可能会略微降低ecplise
  • toString 输出不如apache commons的ToStringBuilder那么好