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 Java通过解析文件获取apk信息
Java通过解析文件获取apk信息
2
Node.js包管理工具yarn安装使用
Node.js包管理工具yarn安装使用
3
Vue读取本地md文件
Vue读取本地md文件
4
FragmentActivity和Activity的区别
FragmentActivity和Activity的区别
5
Windows平台搭建Kafka在和简单示例
Windows平台搭建Kafka在和简单示例
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。