当前位置: 首页 > 知识库问答 >
问题:

使用lombok builder时替代默认值

刁瀚昂
2023-03-14

我正在使用龙目岛的建设者。将默认值分配给我试图使用的一些变量

@建筑商。违约

但问题是,在使用上述注释时,我不再能够通过生成器初始化该值,因为编译器在尝试通过生成器初始化变量时说无法解析方法。

所以,本质上我要寻找的是一种设置默认值的方法,并且在通过构建器启动时仍然能够覆盖。

共有1个答案

万俟经纶
2023-03-14

我的团队一直在努力解决这个注释在某些IDE中无法工作的问题。我们的解决方法是使用@Builder注释定义一个构造函数,如果没有给出值,该注释将设置默认值。例如:

public class ExampleClass {

    private final OtherClass otherClassField;

    @Builder
    public ExampleClass(OtherClass otherClass) {
        // if otherClass is null, use a default value
        otherClassField = otherClass != null ? otherClass : new OtherClass();
    }
}

需要注意的是,如果您的类具有基元类型字段,则需要将基元包装器类型用于构造函数参数,以便能够继续使用null值来指示返回默认值。

您还可以将构造函数访问级别更改为private,以允许仅使用生成器创建此类的实例。

 类似资料:
  • 我刚刚在2.7站点包中安装了Python2.7和pip。 当我获得以下版本时: 它表明: 如何使用pip的2.7版本,位于:

  • 使用默认值几个好处: 如果变量未定义可以防止报错 如果变量为空可以提供默认值,减少条件判断,复杂默认值还是要使用条件判断标签来实现 给变量设置默认值输出 {$category.name|default='分类名为空'} {$user.user_nickname|default='这个家伙没有设置昵称'} 给系统变量设置默认值输出 {$Think.get.name|default="名称为空"}

  • 使用默认值几个好处: 如果变量未定义可以防止报错 如果变量为空可以提供默认值,减少条件判断,复杂默认值还是要使用条件判断标签来实现 给变量设置默认值输出 {$category.name|default='分类名为空'} {$user.user_nickname|default='这个家伙没有设置昵称'} 给系统变量设置默认值输出 {$Think.get.name|default="名称为空"}

  • 本文向大家介绍JavaScript通过使用onerror设置默认图像显示代替alt,包括了JavaScript通过使用onerror设置默认图像显示代替alt的使用技巧和注意事项,需要的朋友参考一下 JavaScript代码 html代码 为了美观当网页图片不存在时不显示叉叉图片 当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt

  • 我只是想知道有没有什么方法可以为log4j中的属性替换提供默认值呢? 我想在Java系统属性中传递文件路径,然后与“${env:MySystemProperty}”一起使用。但如果开发人员忘记设置此属性怎么办?那么我希望在log4j2.xml中定义一些有意义的默认值。 你知道如何实现这个功能吗? 编辑: 环境替换对我不起作用: standalone.conf log4j2.xml 我可以在wild

  • 本文向大家介绍SpringBoot2使用Jetty容器操作(替换默认Tomcat),包括了SpringBoot2使用Jetty容器操作(替换默认Tomcat)的使用技巧和注意事项,需要的朋友参考一下 Jetty和tomcat的比较 Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。 架构比较 Jetty的架构比Tomcat的更为简单 Jet