1. 首页
  2. >
  3. 编程技术
  4. >
  5. Java

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

使用构造函数直接属性赋值

Java的对象创建大家都知道,当对象创建完之后,我们可以有几种方式给对象的属性赋值。比如在new的时候给属性赋值。像这样:

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

这样在创建对象时就将属性赋值,的确很方便。但是如果对象的属性很多,我们这么赋值就很不优雅了。

使用setter属性赋值

一般我们实际开发中,实体类会有很多属性。这时我们可以使用setter方法给属性赋值,如下代码:

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

我们一般也是这么写的,但是看到这么多的setter容易眼花,可能写着写着漏掉了一些字段。用户就很有可能拿到不完整的对象。

使用Builder属性赋值

其实我们可以使用Lombok的@Builder注解,能够使我们更直观地创建对象,同时给属性赋值。我们在实体类上面添加注解@Builder

@Builder public class ProductInfo { ... } 

然后创建对象时直接给属性赋值:

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

这样我们创建对象与给属性赋值就没有分开,提升了代码的阅读性。使用Builder创建对象,我们需要最终调用完build()方法对象才创建完成。保证了对象的完整性。