我可以在一个 class Lombok 中同时使用 @data 和 @builder 注释吗?

Can I use both @data and @builder annotations in one class Lombok?

之所以要用是因为我想生成这种格式的setter

对于class

public class Person {
    private String firstName;
    private String lastName;
}


 public Person setFirstName(String firstName) {
        this.firstName = firstName;
        return this;
    }

    public Person setLastName(String lastName) {
        this.lastName = lastName;
        return this;
    }

而不是@Data 生成的设置器

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

或者还有其他方法吗?请告诉我。

为此,你应该使用@Accessors(chain = true)。例如:

@Accessors(chain = true)
@Setter
public class Person {
    private String firstName;
    private String lastName;
}

原版 java 表示:

public class Person {
    private String firstName;
    private String lastName;

    public Person setFirstName(String firstName) {
        this.firstName = firstName;
        return this;
    }

    public Person setLastName(String lastName) {
        this.lastName = lastName;
        return this;
    }
}