我们可以像这样使用lombok生成二传手:
@Data //or @Setter
public class Test {
int a;
}
例如,我还想要一个带String的重载setter:
public void setA(String aStr){
//parseInt and set 'a'
}
但是当我添加此重载方法时,lombok认为我已手动添加了一个setter,因此它选择不添加一个自身。
显然,它仅查看方法名称,而不查看参数。
有没有一种方法可以强制它添加普通的(以int
作为参数)设置器?
还是唯一的方法是自己添加该普通设置器(当然使用IDE设置器生成器)?我有很多领域和很多课程。
答案 0 :(得分:5)
在我的重载方法上添加@Tolerate
注释解决了该问题。
放置任何方法或构造函数以使lombok假装它不 存在,即生成一种方法,否则该方法将被跳过 可能的冲突。
不过,自2014年以来一直处于试验阶段。
答案 1 :(得分:1)
文档指出"No method is generated if any method already exists with the same name (case insensitive) and same parameter count."
。
您已经描述了这种情况。相反,您应该使用新名称
定义其他自定义setter方法。setAFromString(String aStr)