我想使用以下Java代码来创建Java对象:
public class NotificationMessage implements Serializable {
private static final long serialVersionUID = 985577913631100757L;
private int id;
private String uniqueid;
private String status;
private String type;
private Map<String, String> map;
private Date created_at;
public NotificationMessage() {
}
public NotificationMessage(int id, String uniqueid, String status, String type, Map<String, String> map,
Date created_at) {
this.id = id;
this.uniqueid = uniqueid;
this.status = status;
this.type = type;
this.map = map;
this.created_at = created_at;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
....
}
当我要创建Java对象时,如何使用builder来最大程度地减少设置器?
我想要设置这样的值:
NotificationMessage.builder().id(123).uniqueid(1234).status("active")
答案 0 :(得分:2)
您可以使用 https://projectlombok.org/
@Entity
@Data
@Builder
@Getter
public class NotificationMessage {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String uniqueid;
private String status;
private String type;
private Map<String, String> map;
private Date created_at;
}
NotificationMessage.builder().id(123).uniqueid(1234).status("active");
assertThat(NotificationMessage.getId()).isEqulTo(123));
答案 1 :(得分:0)
为了像这样链接方法调用:
NotificationMessage.builder().id(123).uniqueid(1234).status("active")
您必须在每次调用时返回调用对象(this
)
public NotificationMessage id(int id) {
this.id = id;
return this;
}