@Builder(toBuilder=true) 链式初始化对象、修改对象

引入lombok:

比如父工程引入依赖

        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

依赖dependency的元素标签optional的作用
子工程不能继承引入lombok
避免依赖冲突,如果是false,不设置optional那么就会继承引入


创建实体:

@Builder的写法,本质上是一种构造器的模式,默认会给类一个全参构造方法,我们需要添加@NoArgsConstructor、@AllArgsConstructor这两个注解才能保证该类可以正常工作

@Data
@Builder(toBuilder=true)
@AllArgsConstructor
@NoArgsConstructor
public class Student  {
    private String id;
    private String name;
    private Integer age;
}


属性初始化

示例中build方法会调用目标类的全参构造方法,如果我们只加了@NoArgsConstructor就会导致全参构造方法被覆盖,因此需要加@NoArgsConstructor、@AllArgsConstructor这两个注解这两个注解

Student  luxifa = Student.builder().id("20230107").name("路西法").age(24).build();


属性修改

Student  degula = luxifa.toBuilder().name("德古拉").age(26).build();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值