public class Item2 {
private final int field1;
private final String field2;
private final long field3;
private Item2(Builder builder) {
this.field1 = builder.field1;
this.field2 = builder.field2;
this.field3 = builder.field3;
}
public static Builder builder() {
return new Builder();
}
static class Builder {
private int field1;
private String field2;
private long field3;
public Builder field1(int field1) {
this.field1 = field1;
return this;
}
public Builder field2(String field2) {
this.field2 = field2;
return this;
}
public Builder field3(long field3) {
this.field3 = field3;
return this;
}
public Item2 build() {
return new Item2(this);
}
}
public static void main(String[] args) {
Item2 item2 = Item2.builder()
.field1(1)
.field2("hello")
.field3(10L)
.build();
System.out.println("field1: " + item2.field1);
System.out.println("field2: " + item2.field2);
System.out.println("field3: " + item2.field3);
}
}