首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lombok @Builder继承解决方案

Lombok @Builder继承解决方案
EN

Stack Overflow用户
提问于 2015-07-27 22:02:34
回答 3查看 38.8K关注 0票数 37

Lombok @Builder不适用于继承用例:

例如

代码语言:javascript
运行
复制
class Foo{
 protected int xyz1;
 .....
 protected String xyz7;
}


class Bar extends Foo{

}

对于给定的用例,Lombok将无法生成方法来设置Foo类中定义的参数的值。

解决这个问题的方法是:

  1. 手动创建条形图的构造函数。
  2. 在构造函数上添加一个Builder注释。

有更好的解决办法吗?

EN

Stack Overflow用户

发布于 2016-04-07 17:00:09

--我把这个放在这里供参考,其他答案表明(在发布这个答案的时候),库中现在有一个@SuperBuilder功能,这似乎更合适。

这有点隐蔽,但人们以前也有过这样的问题,你看:

https://reinhard.codes/2015/09/16/lomboks-builder-annotation-and-inheritance/

总结这篇博文

代码语言:javascript
运行
复制
@AllArgsConstructor
public class Parent {
  private String a;
}

public class Child extends Parent {

  private String b;

  @Builder
  private Child(String a, String b){
    super(a);
    this.b = b;
  }
}

会允许你使用

代码语言:javascript
运行
复制
Child.builder().a("testA").b("testB").build()
票数 19
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31664098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档