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
上一篇 JDK动态代理的原理
下一篇 MySQL以字段进行分组并分页
目录
文章列表
1 利用 Amazon Time Sync Service 保持时间同步
利用 Amazon Time Sync Service 保持时间同步
2
Android集成微信APP支付注意事项
Android集成微信APP支付注意事项
3
Ant Design Upload组件
Ant Design Upload组件
4
RxJava2学习之五:Map操作符
RxJava2学习之五:Map操作符
5
微信小程序中this指向作用域问题this.setData is not a function报错
微信小程序中this指向作用域问题this.setData is not a function报错
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。