lombok建造者模式
时间: 2023-08-30 20:08:06 浏览: 171
Lombok是一个Java库,它提供了一些注解,可以简化Java代码的编写。其中之一就是建造者模式(Builder pattern)。
使用Lombok的建造者模式可以方便地创建不可变对象,并且避免了手动编写大量的构造方法和setter方法。通过在类上添加`@Builder`注解,Lombok会自动生成一个内部静态类,该类包含了所有属性的setter方法,并且还提供了一个名为`build()`的方法用于构建对象。
下面是使用Lombok的建造者模式的一个简单示例:
```java
import lombok.Builder;
import lombok.Getter;
@Builder
@Getter
public class Person {
private final String name;
private final int age;
private final String address;
}
public class Main {
public static void main(String[] args) {
Person person = Person.builder()
.name("John")
.age(30)
.address("123 Main St")
.build();
System.out.println(person.getName()); // 输出:John
System.out.println(person.getAge()); // 输出:30
System.out.println(person.getAddress()); // 输出:123 Main St
}
}
```
在上面的示例中,我们使用`@Builder`注解在`Person`类上,然后通过调用自动生成的`builder()`方法来创建一个建造者对象。接着,我们可以使用链式调用来设置属性的值,并最后调用`build()`方法来构建不可变的`Person`对象。
需要注意的是,我们在`Person`类中的属性前添加了`final`关键字,这是为了确保对象的不可变性。此外,Lombok还会自动生成`equals()`、`hashCode()`和`toString()`等方法,以及一个私有的全参构造方法。
通过使用Lombok的建造者模式,我们可以简化代码并且提高可读性,特别是在创建拥有大量属性的对象时。
阅读全文