Java 现有类的生成器
我得到了以下场景,其中我得到了四个自动生成的类(在一个JAR中): 设置这些对象非常痛苦,而且容易出错。因此,我想知道是否有更好的方法来自动构建生成器。我知道Lombok,但我无法编辑该代码,也无法添加@Builder注释Java 现有类的生成器,java,builder,lombok,Java,Builder,Lombok,我得到了以下场景,其中我得到了四个自动生成的类(在一个JAR中): 设置这些对象非常痛苦,而且容易出错。因此,我想知道是否有更好的方法来自动构建生成器。我知道Lombok,但我无法编辑该代码,也无法添加@Builder注释 有什么建议吗 如果不允许更改现有类,则可以扩展它们: public class Existing { String a; String b; public Test(String a, String b) { this.a = a;
有什么建议吗 如果不允许更改现有类,则可以扩展它们:
public class Existing {
String a;
String b;
public Test(String a, String b) {
this.a = a;
this.b = b;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
}
public class ExistingBuilder extends Existing {
@Builder
public ExistingBuilder(String a, String b) {
super(a, b);
// in case super class doesn't have all arguments constructor just call setters
// setA(a);
// setB(b);
}
}
因此,正如您所看到的,它是可行的,但是超类应该有getter/setter或all args构造函数。已经尝试过了,但是超类没有args构造函数,而且这种方法似乎不起作用。@user3727540因此,我添加了setter的示例
public class Existing {
String a;
String b;
public Test(String a, String b) {
this.a = a;
this.b = b;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
}
public class ExistingBuilder extends Existing {
@Builder
public ExistingBuilder(String a, String b) {
super(a, b);
// in case super class doesn't have all arguments constructor just call setters
// setA(a);
// setB(b);
}
}