import com.yqg.common.util.serialization.JsonUtils;
import lombok.*;
import java.util.List;
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SonTrans extends CommonTrans {
private String sonType1;
/**
* 允许在toBuilder的时候,如果没有值,设置获取默认值的方法
*/
@Builder.ObtainVia(method = "getDefault")
private String sonType2;
/**
* @Builder.Default 允许builder的时候设置默认值
*/
@Builder.Default
private String sonType3 = "" + System.currentTimeMillis();
@Singular("sonList")
private List<String> sonList;
public static void main(String[] args) {
SonTrans sonTrans = new SonTrans();
sonTrans.sonType1 = "son";
System.out.println(JsonUtils.toString(sonTrans));
// @Singular可以一个一个参数配置到list里
SonTrans build = SonTrans.builder()
.sonList("1")
.sonList("2")
.build();
System.out.println(JsonUtils.toString(build));
// toBuilder可以直接复制实例
SonTransBuilder sonTransBuilder = sonTrans.toBuilder();
SonTrans build1 = sonTransBuilder.sonList("3").sonList("4").build();
System.out.println(JsonUtils.toString(build1));
}
private String getDefault() {
return "default";
}
}
@Builder 实用技巧
最新推荐文章于 2024-04-27 09:13:51 发布