数据库网站有哪些,小视频app,炎推小说推广下载,网站建设会计帐务处理这里写自定义目录标题 问题case原因解决方案 文章参考来源#xff1a;https://chenyongjun.vip/articles/107 问题case
Lombok 使用广泛#xff0c;这里分享一个 Lombok Builder 小 case#xff0c;今天自己踩了坑。
Data
Builder
public class User {private String name… 这里写自定义目录标题 问题case原因解决方案 文章参考来源https://chenyongjun.vip/articles/107 问题case
Lombok 使用广泛这里分享一个 Lombok Builder 小 case今天自己踩了坑。
Data
Builder
public class User {private String name kitty;private int age 20;private boolean enabled true;public static void main(String[] args) {System.out.println(User.builder().build());}
}输出结果却是User(namenull, age0, enabledfalse)自行设置的值全部失效。
原因
使用User.builder().build()方法构造对象时如果不主动赋值的情况下会被赋初值而不会使用我们代码中的初值。
解决方案
可以使用 Builder.Default 标记属性以保留默认值。
Data
Builder
public class User {Builder.Defaultprivate String name kitty;Builder.Defaultprivate int age 20;Builder.Defaultprivate boolean enabled true;public static void main(String[] args) {System.out.println(User.builder().build());}
}输出结果为User(namekitty, age20, enabledtrue)
一般领域对象都会使用基础数据类型的包装类很少使用基础数据类型也很少给初始值不容易发现。