当前位置: 首页 > 面试题库 >

Lombok @Builder的必需参数

越国源
2023-03-14
问题内容

如果我将@Builder添加到类中。创建了builder方法。

Person.builder().name("john").surname("Smith").build();

我有一个需要特定字段的要求。在这种情况下,名称字段是必填字段,而不是姓氏。理想情况下,我想这样声明。

Person.builder("john").surname("Smith").build()

我不知道该怎么做。我尝试将@Builder添加到构造函数中,但没有成功。

@Builder
public Person(String name) {
    this.name = name;
}

问题答案:

您可以使用Lombok批注配置轻松完成此操作

import lombok.Builder;
import lombok.ToString;

@Builder(builderMethodName = "hiddenBuilder")
@ToString
public class Person {

    private String name;
    private String surname;

    public static PersonBuilder builder(String name) {
        return hiddenBuilder().name(name);
    }
}

然后像那样使用

Person p = Person.builder("Name").surname("Surname").build();
System.out.println(p);

当然@ToString这里是可选的。



 类似资料:
  • 我想使用Lombok生成生成器,但我不确定这是否可行(我在文档中没有找到任何线索)。 默认情况下,Lombok生成builder,即此代码: 翻译为: 有没有办法在没有这个关键字的情况下生成构建器类?

  • 问题内容: 我有一个重写版本discord.py。如果消息中包含内容,则不会发生错误。如果消息中内容不存在,则我希望该错误不会发生。 我的代码: 完整回溯: 问题答案: 命令解析参数的方式意味着定义 表示需要单词作为命令调用的一部分。如果您想捕获消息的其余部分,则可以使用仅关键字参数语法: 此功能在此处记录。

  • 问题内容: 码: 忽略字符串中的其他内容(最小,最大和范围),但对于此行, 我收到一个错误: 必需:double [] 找到:无参数 为什么会出现此错误,我应该更改什么? 问题答案: 您以这种方式调用方法calculateAverage :,不带任何参数。但是方法是这样声明的: 因此,它需要一个type类型的参数,但是您什么也不传递。

  • 不确定这件事可以完成,但我想创建一个新的子类,将父类和其他附加参数作为参数传递。 例如,如果我有: 对于lombo,有没有一个构建器让我创建一个子类,将父类和缺少的值作为参数传递? 如果我能写出这样的东西会更容易:

  • Lombok@builder不适用于继承用例: 手动创建条形图的构造函数。 将生成器批注放在该构造函数上。 有更好的变通办法吗?

  • 我写了正确的AppID和APP秘密,但当我在浏览器上运行它时,Facebook说"参数app_id是必需的" 这个代码有错误吗,或者我遗漏了一些信息?以下是链接www.smmstest.base.pk/