Lombok中@Builder
import lombok.Builder;
import lombok.Value;
@Builder
@Value
public class BuilderEntity1 {
private String id;
private String name;
}
import lombok.Builder;
import lombok.Value;
@Builder(toBuilder = true)
@Value
public class BuilderEntity2 {
private String id;
private String name;
}
public class BuilderDemo {
public static void main(String[] args) {
BuilderEntity1 build1 = BuilderEntity1.builder().id("id1").name("name1").build();
BuilderEntity2 build2 = BuilderEntity2.builder().id("id2").name("name2").build();
System.out.println("build1 = " + JSON.toJSONString(build1));
System.out.println("build2 = " + JSON.toJSONString(build2));
// 编译不通过
// BuilderEntity1 build10 = build1.toBuilder().id("id10").build();
BuilderEntity2 build20 = build2.toBuilder().id("id20").build();
System.out.println("----------------------------------------");
System.out.println("build1 = " + JSON.toJSONString(build1));
System.out.println("build2 = " + JSON.toJSONString(build2));
System.out.println("build20 = " + JSON.toJSONString(build20));
}
}
结果如下
build1 = {"id":"id1","name":"name1"}
build2 = {"id":"id2","name":"name2"}
----------------------------------------
build1 = {"id":"id1","name":"name1"}
build2 = {"id":"id2","name":"name2"}
build20 = {"id":"id20","name":"name2"}