Lombok Builder构造器默认值失效

1.16.*及以下版本:@Data默认会生成private的无参构造函数,Builder默认值不生效,但是new的对象默认值生效
1.18.*及以上版本:@Data默认不会生成无参构造函数,Builder默认值生效,但是new的对象默认值不生效

public class Test {

    public static void main(String[] args) throws Exception {
        User user = User.builder().build();
        System.out.println("name: " + user.getName());
        System.out.println("age: " + user.getAge());
        System.out.println("isVip: " + user.isVip());
    }

    @Data
    @Builder
    static class User {
        private String name = "Joe.Ye";
        private int age = 20;
        private boolean isVip = true;
    }
}

运行结果:

name: null
age: 0
isVip: false

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/lombok-builder-constructor-default-value-invalid/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Lombok Builder构造器默认值失效
1.16.*及以下版本:@Data默认会生成private的无参构造函数,Builder默认值不生效,但是new的对象默认值生效 1.18.*及以上版本:@Data默认不会生成无参构造函……
<<上一篇
下一篇>>
文章目录
关闭
目 录