4

问题

@Data
@Builder
public class Demo {

    @Tolerate
    public Demo(){

    }

    private int type = 2;

    private String url;
}

通过builder模式,如果不设置type,还指望它能够设置2,恐怕要令你失望了。

告警

Warning:(95, 30) java: @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant.

升级到最新版

  <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.16</version>
      <scope>provided</scope>
    </dependency>

使用@Builder.Default

@Builder.Default
private int type = 2;

这样就ok了。

doc


想获取最新内容,请关注微信公众号

图片描述


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...


引用和评论

0 条评论