仿lombok-@Builder注解(建造者模式)
public class FunctionTest {
public static void main(String[] args) {
User build = User.builder().username("zhen").text("xxxxx").build();
System.out.println(build);
}
public static class User {
private String username;
private String text;
public User(){
}
public User(User user) {
this.username = user.username;
this.text = user.text;
}
public static Builder builder(){
return new Builder();
}
public static class Builder{
private User user;
public Builder() {
this.user = new User();
}
public User build(){
return this.user;
}
public Builder username(String name){
this.user.username = name;
return this;
}
public Builder text(String text){
this.user.text = text;
return this;
}
}
@Override
public String toString() {
return "User{" + "username='" + username + '\'' + ", text='" + text + '\'' + '}';
}
}
}