Java Lombok | コレクション型に追加setterメソッドを宣言 - @Singular
@Singular
@Builderを宣言してデフォルトのままにすると、コレクション型のフィールドも通常どおり値を上書きするsetterメソッドとして自動生成される。
追加メソッドとして自動生成したい場合は、フィールドに@Singularアノテーションを宣言できる。
package com.devkuma.tutorial.lombok;
import lombok.Builder;
import lombok.Singular;
import lombok.ToString;
import java.util.Arrays;
import java.util.List;
@Builder
@ToString
public class SingularTutorial {
private String string;
private int number;
@Singular("list")
private List<String> list;
public static void main(String[] args) {
SingularTutorialBuilder builder = SingularTutorial.builder()
.string("test")
.number(100)
.list("kimkc")
.list("happykuma")
.list(Arrays.asList("devkuma", "araikuma"));
SingularTutorial tutorial = builder.build();
System.out.println(tutorial);
}
}
実行結果:
SingularTutorial(string=test, number=100, list=[kimkc, happykuma, devkuma, araikuma])