lombok 父类子类同时使用@builder出错
时间: 2023-12-29 18:48:54 浏览: 240
[] - 2022-10-09 Lombok 同时使用 @Data 和 @Builder 的巨坑,千万别乱用!.pdf
在使用 Lombok 的 `@Builder` 注解时,如果父类和子类都使用了该注解,可能会出现冲突。这是因为 Lombok 中的 `@Builder` 注解会生成一个带有所有属性的构造方法,而父类和子类中都会生成这样的构造方法,从而导致冲突。
为了解决这个问题,可以在父类中使用 `@SuperBuilder` 注解,而在子类中使用 `@Builder` 注解。`@SuperBuilder` 注解会将子类中的 `@Builder` 注解合并到父类中,从而避免了冲突。
示例代码如下:
```java
@SuperBuilder
public class Parent {
private String name;
}
@Builder
public class Child extends Parent {
private int age;
}
```
在上面的示例代码中,父类 `Parent` 使用了 `@SuperBuilder` 注解,而子类 `Child` 使用了 `@Builder` 注解。这样就可以避免父类和子类同时使用 `@Builder` 注解时出现的冲突问题。
阅读全文