学习笔记lombok的@Builder注解
Posted 棉花糖灬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记lombok的@Builder注解相关的知识,希望对你有一定的参考价值。
首先需要了解下Builder模式:
定义一个User类:
public class User {
private String firstName;
private String lastName;
User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
String firstName;
String lastName;
Builder firstName(String value) {
this.firstName = value;
return this;
}
Builder lastName(String value) {
this.lastName = value;
return this;
}
public User build() {
return new User(firstName, lastName);
}
}
}
则可以通过链式调用的方式为User的属性赋值:
User user = User.builder()
.firstName("san")
.lastName("zhang")
.build();
之所以能够链式调用是因为User.Builder类中的firstName()和lastName()方法返回的都是Builder对象。
而@Builder注解的使用可以大大简化代码:
@Builder
public class User {
private String firstName;
private String lastName;
}
在使用时和之前一样:
User user = User.Build()
.firstName("san")
.lastName("zhang")
.build();
以上是关于学习笔记lombok的@Builder注解的主要内容,如果未能解决你的问题,请参考以下文章