与Eclipse中的代码模板/代码生成相比,Project Lombok能否带来任何好处?是否有任何缺点(除了包括.jar)?。
答案 0 :(得分:21)
Lombok的一个优点是,一旦你用@Data注释注释了一个类,你就不需要在进行更改时重新生成代码。例如,如果添加新字段,@ Data将自动在equals,hashCode和toString方法中包含该字段。使用Eclipse生成的方法时,您需要手动进行更改。有些时候,你可能更喜欢手动控制,但在大多数情况下,我希望不会。
答案 1 :(得分:12)
Lombok的优势在于代码实际上并不存在 - 即类更具可读性且不会混乱。
答案 2 :(得分:6)
优点:
类更清晰('没有样板代码'),特别是'类似结构'的内部类缩小到最低限度:
@Data private class AttrValue {
private String attribute;
private MyType value;
}
这将创建getter和setter,toString()和正确的hash()/ equals()方法,包括两个变量。
@Value
的变体创建了一个不可变结构(没有setter,所有字段都是final)。
缺点:
value
以上将不会(还)重命名getValue()
和setValue()
toString
输出不如例如来自apache commons的ToStringBuilder 答案 3 :(得分:4)
很少有人想到:
依赖性问题不容忽视,但您已将其排除在问题之外。
答案 4 :(得分:0)