lombok的方面之处就不多说了,这里列一下使用中遇到的一些问题。
@Builder继承
@Builder无法继承。所以当我们同时有父类、子类,无法都使用@Builder。
解决方案:父类不用@Builder,子类构造函数上加@Builder
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| @AllArgsConstructor @NoArgsConstructor public class Father {
private String fatherName; }
public class Children { private String childName; @Builder public Children(String fatherName, String childName) { super(fatherName); this.childName = childName; } }
|
缺点:
- 父类无法使用builder();
- 子类的构造得是全参构造;
@Data继承
子类继承时,需加@EqualsAndHashCode(callSuper=true)