2016-06-10 70 views
11

我正在尝试为我的项目使用龙目岛。龙目岛的建设者的遗产

我有一个A级:

@Data 
@Builder 
public class A { 
    Integer a1; 
} 

和B类:

@Data 
public class B extends A { 
    Integer b1; 

    @Builder 
    public B(Integer b1, Integer a1) { 
     super(a1); 
     this.b1 = b1; 
    } 
} 

我收到一个错误说B中生成器()不能覆盖所述的助洗剂(),作为回报输入BBuilder与ABuilder中的返回类型不兼容。

有没有办法使用lombok做到这一点? 我不想为B编写完整的构建器,除非我没有任何其他选项。

PS:由于Issue,我给出了类B的显式构造函数。 我试过搜索,但我找不到相同的好解决方案。任何帮助真的很感激。

回答

13

在这里,我们只需要调用生成器的超级。

@Data 
public class B extends A { 
    Integer b1; 

    @Builder 
    public B(Integer b1, Integer a1) { 
     super(a1); 
     this.b1 = b1; 
    } 

    public static class BBuilder extends ABuilder{ 
      BBuilder() { 
       super(); 
      } 
    } 
}