我用Builder优雅地实现了对象的创建

使用构造函数直接属性赋值Java的对象创建大家都知道 , 当对象创建完之后 , 我们可以有几种方式给对象的属性赋值 。 比如在new的时候给属性赋值 。 像这样:
我用Builder优雅地实现了对象的创建文章插图
这样在创建对象时就将属性赋值 , 的确很方便 。 但是如果对象的属性很多 , 我们这么赋值就很不优雅了 。
使用setter属性赋值一般我们实际开发中 , 实体类会有很多属性 。 这时我们可以使用setter方法给属性赋值 , 如下代码:
我用Builder优雅地实现了对象的创建文章插图
我们一般也是这么写的 , 但是看到这么多的setter容易眼花 , 可能写着写着漏掉了一些字段 。 用户就很有可能拿到不完整的对象 。
使用Builder属性赋值其实我们可以使用Lombok的@Builder注解 , 能够使我们更直观地创建对象 , 同时给属性赋值 。 我们在实体类上面添加注解@Builder 。
@Builderpublic class ProductInfo {...}然后创建对象时直接给属性赋值:
我用Builder优雅地实现了对象的创建文章插图
【我用Builder优雅地实现了对象的创建】这样我们创建对象与给属性赋值就没有分开 , 提升了代码的阅读性 。 使用Builder创建对象 , 我们需要最终调用完build()方法对象才创建完成 。 保证了对象的完整性 。