package com
.troila
.test
;
public class BuilderTest {
private String name
;
private Integer age
;
private Integer sex
;
private String address
;
private BuilderTest(String name
, Integer age
, Integer sex
, String address
) {
this.name
= name
;
this.age
= age
;
this.sex
= sex
;
this.address
= address
;
}
public String
getName() {
return name
;
}
public Integer
getAge() {
return age
;
}
public Integer
getSex() {
return sex
;
}
public String
getAddress() {
return address
;
}
public static BuilderTest
.Builder
builder(){
return new BuilderTest.Builder();
}
public static class Builder{
private String name
;
private Integer age
;
private Integer sex
;
private String address
;
public BuilderTest
.Builder
name(String name
) {
this.name
= name
;
return this;
}
public BuilderTest
.Builder
age(Integer age
) {
this.age
= age
;
return this;
}
public BuilderTest
.Builder
sex(Integer sex
) {
this.sex
= sex
;
return this;
}
public BuilderTest
.Builder
address(String address
) {
this.address
= address
;
return this;
}
public BuilderTest
build(){
return new BuilderTest(name
,age
,sex
,address
);
}
}
}
BuilderTest build
= BuilderTest
.builder().name("zhangsan").sex(1).address("beijing").build();
System
.out
.println(build
.getName()+"\t-->\t"+build
.getAddress());
Lombok插件的@Builder注解可以实现同样的效果
转载请注明原文地址:https://ipadbbs.8miu.com/read-45252.html