代码语言:javascript代码运行次数:0运行复制```javascript
public class Book {
private Integer id;
private String name;
public Book() {
}
public Book(Integer id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name +
'}';
}
// 使用内部类实现建造者模式
public static class Builder {
private Integer id;
private String name;
public Builder id(Integer id) {
this.id = id;
return this;
}
public Builder name(String name) {
this.name = name;
return this;
}
public Book build() {
return new Book(id, name);
}
}
}
/**
通过这种方式实现了链式创建,与Lombok的@Builder注解功能类似。
*/
public class BuilderTest {
public static void main(String[] args) {
Book book = new Book.Builder().id(1).name("三国").build();
System.out.println(book.toString());
}
}