我可以在一个 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;
}
}
之所以要用是因为我想生成这种格式的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;
}
}