首页 > 其他 > 详细

@builder 无法继承父类的解决办法

时间:2019-11-15 11:15:55      阅读:1174      评论:0      收藏:0      [点我收藏+]

在Lombock下,使用@builder无法继承父类的解决办法

在Lombock1.18.4以后增加了@SuperBuilder注解来解决,但是可能是功能不完整,暂时还是无法解决继承问题

于是按照网上其他达人的方案,自主实现@builder,虽然有点啰嗦,单好歹能用,期待@SuperBuilder后续能彻底解决问题,先将实现方式记录如下



  /**
  * 关键:父类里面用@AllArgsConstructor  标识一个全参构造函数
 **/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor  
public class ParentBase implements Serializable {
    protected  String name;
}


@Getter
@Setter
@NoArgsConstructor
public class ChildClass extends ParentBase implements Serializable {


    private Integer age;

    /**
    * 子类里面需要自己写一个Builder的构造器,来重写父类参数
    **/
    @Builder(toBuilder = true)
    public ChildClass(String name,Integerage){
        super(name);
        this.age= age;
    }
}


    // 使用的时候就可以正常使用了:
    
    ChildClass child = ChildClass.builder().name("张三").age(16).build();

基于以上两步,可以在@SuperBuilder完善之前暂时使用

@builder 无法继承父类的解决办法

原文:https://www.cnblogs.com/athens/p/11781220.html

(0)
(6)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!