Java 如何使用Lombok指定单参数构造函数?

Java 如何使用Lombok指定单参数构造函数?,java,lombok,Java,Lombok,使用Lombok,是否可以指定一个单参数构造函数 我的意图是使用Lombok注释创建一个构造函数,如下面的构造函数 class MyClass { private String param; private Integer count; public MyClass(String param) { this.param = param; } } 我在文档中没有找到 使用以下命令: 您必须初始化所有不应属于构造函数的变量 @RequiredArg

使用Lombok,是否可以指定一个单参数构造函数

我的意图是使用Lombok注释创建一个构造函数,如下面的构造函数

class MyClass {
    private String param;
    private Integer count;

    public MyClass(String param) {
        this.param = param;
    }
}
我在文档中没有找到

使用以下命令:

您必须初始化所有不应属于构造函数的变量

@RequiredArgsConstructor为每个需要特殊处理的字段生成一个具有1个参数的构造函数。所有未初始化的最终字段都会获得一个参数,以及任何标记为@NonNull且未在声明位置初始化的字段。对于标记为@NonNull的字段,还将生成显式null检查

因此,下面应该创建一个单参数(
param
)构造函数:

@RequiredArgsConstructor class MyClass {
     private String param;
     private Integer count = -1;
}

Lombok不允许您精确地指定字段,但有3个注释可供选择。与

@RequiredArgsConstructor class MyClass {
    private final String param;
    private Integer count;
}

你可以得到它。如果未进行内联初始化,则需要参数,
final
@NonNull

@RequiredArgsConstructor
@NonNull
是解决上述问题的两个重要关键。因为
@RequiredArgsConstructor
创建了一个带有字段的构造函数,这些字段由
@NonNull
注释注释

@RequiredArgsConstructor
类MyClass{
@非空
私有字符串参数;
私有整数计数;
}
这相当于:

class-MyClass{
私有字符串参数;
私有整数计数;
公共MyClass(字符串参数){
this.param=param;
}
}

Yes有什么问题吗?但我不需要使用构造函数设置
整数计数。所以@RequiredArgsConstructor不是我的情况。我做了编辑。我没有运行lombok,那么它会生成什么?@KnutKnutsen“RequiredArgsConstructor”仅用于最终字段。对于所有可能错过它的人,它是非空的(自定义lombok注释),而不是著名的@NotNull。我希望他们使用NotNull而不是TEADE切换如果没有
final
关键字,这将无法工作