- 使用 @SuperBuilder 注解: Lombok 提供了
@SuperBuilder
注解,可以解决父类属性无法使用@Builder
注解的问题。@SuperBuilder
注解能够处理父类属性,并确保在继承时生成的 Builder 包含父类属性。@SuperBuilder public class ParentClass { private String parentProperty; } @SuperBuilder public class ChildClass extends ParentClass { private String childProperty; }
-
使用 @Builder.Default 注解: 您可以为父类中的属性自定义默认值,并在子类中重新定义需要的属性。
import lombok.Builder; import lombok.Builder.Default; public class ParentClass { @Default private String someProperty = "defaultValue"; // other properties and methods } public class ChildClass extends ParentClass { @Builder.Default private String someProperty = "overriddenValue"; // other properties and methods }
对于 Lombok 的 @Builder 注解在继承类中无法生效的问题
于 2023-12-09 14:17:59 首次发布