【发布时间】:2022-02-04 18:12:23
【问题描述】:
对于溢出社区,您好,我正在努力解决 Lombok 的继承问题。我正在尝试在子类上添加注释 @AllArgsConstructor 和 @NoArgsConstructor 以使用父 lombok 构造函数,但得到错误 “重复方法 Child()”。
父类:
@ToString
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class Parent {
private String propertyA;
private String propertyB;
}
儿童班:
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class Child extends Parent {
@Override
public void setPropertyA(String propertyA) {
this.propertyA(StringUtils.upperCase(propertyA));
}
}
错误信息:
Child Java(67109219) 类型中的重复方法 Child()
感谢@rentox98 的回复,我了解到我的子类上的 ArgsConstructor 将始终为空,从而导致两个相同的构造函数。
是否有 Lombok 方法可以根据父 lombok ArgsConstructors 在我的子类上生成 ArgsConstructors ?
【问题讨论】:
-
顺便说一句,使用
@Data和使用所有@Getter、@Setter和@ToString之间的唯一区别是前者也能得到你@EqualsAndHashCode所以除非有一些你想避免让 Lombok 在Parent上生成equals和hashCode方法的原因,只使用@Data更简洁。 -
嘿,你现在可以接受@rentox98 的回答吗?然后我会删除我的。谢谢。
标签: java inheritance lombok