LomBok使用技巧(@AllArgsConstructor @NoArgsConstructor @Builder @Accessors(chain = true) )

Lombok也许好多人都用过@Data注解,就不用写Getter,Setter了。

----------补加一下

@Accessors(chain = true)   //链式set
@RequiredArgsConstructor(staticName = "of")   生成有参数的构造  和@NonNull一起

------------------------------

 

介绍几个:

@Data //生成Getter,Setter,equals,canEqual,hasCode,toString等方法
@AllArgsConstructor //生成全参数构造函数
@NoArgsConstructor//生成无参构造函数
@Builder(toBuilder=true) //Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数  修改实体,要求实体上添加@Builder(toBuilder=true)
@Accessors(chain = true)   //链式set
@Data //生成Getter,Setter,equals,canEqual,hasCode,toString等方法
@AllArgsConstructor //生成全参数构造函数
@NoArgsConstructor//生成无参构造函数
@Builder(toBuilder = true)         //Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数  修改实体,要求实体上添加@Builder(toBuilder=true)
@RequiredArgsConstructor(staticName = "of")
public class Student {
    /**
     * 告诉编译器,参数非空 和RequiredArgsConstructor配合生成静态构造方法
     */
    @NonNull
    private String name;
    private Integer age;
    private String sex;
}

 测试类;
 

public static void main(String[] args) {
        //@Builder 不用写构造函数  相当于只用两个属性的构造函数
        Student student = Student.builder()
                .name("张三")
                .age(18)
                .build();
        System.out.println(student);
        System.out.println("=====================================");
        //修改属性
        String name = "李四";
        student = student.toBuilder()
                .name(name)
                .age(22)
                .sex("男")
                .build();
        System.out.println(student);
        System.out.println("================验证链式set @Accessors(chain = true)注解===================");
        Student student2 =new Student()
                .setAge(25)
                .setName("张飞")
                .setSex("男");
        System.out.println(student2);
        System.out.println("=============静态构造方法========================");
        List<String> list= Lists.newArrayList();
        HashMap<String, String> objectObjectHashMap = Maps.newHashMap();
        Student student3=Student.of("李白")
                .setAge(74)
                .setSex("男");
        System.out.println(student3);


    }
}

结果:

代码就得骚起来!!!(还能解决idea和SonarLint的重复代码扫描)

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值