@Builder 注解:Lombok 会自动生成代码,但这种自动生成的方式比较固定,虽然 Lombok 的选项进行一定程度的定制,但不如手动实现灵活。如果你想要对构建过程做特殊处理,则需要额外操作

在使用 Lombok 的 @Builder 注解时,自动生成的构建器(Builder)通常比较简单,仅生成字段的设置方法和一个 build() 方法。如果你想对构建过程进行特殊处理(例如属性校验、数据转换或其他定制逻辑),则可能需要手动干预。
Lombok 提供了 @Builder 的一些定制选项,如 toBuilder 和 builderMethodName,但在很多情况下,属性校验或其他复杂逻辑需要通过手动实现来完成。
手动实现 Builder,带有额外的操作
你可以手动实现一个 Builder 类,在构建对象时增加自定义的逻辑。例如,属性校验、转换或依赖关系检查。
示例:使用自定义 Builder 进行属性校验
假设你有一个 User 类,并且希望在构建过程中对某些字段(例如,age)进行校验。
import lombok.Builder;
import lombok.Getter;

@Getter
public class User {

    private final String name;
    private final int age;

    // 手动实现的 Builder
    public static class UserBuilder {

        private String name;
        private int age;

        public UserBuilder name(String name) {
            if (name == null || name.isEmpty()) {
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值