@RequiredArgsConstructor当不存在最终字段时,Lombok 注释会生成一个空构造函数,此代码编译时不会出现错误:
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class LombokTest {
public LombokTest(String a) {
// to avoid creation of the default constructor by the Java compiler
}
public static void main(String[] args) {
new LombokTest();
}
}
Run Code Online (Sandbox Code Playgroud)
根据Lombok文档,注释@Data还应该生成一个RequiredArgsConstructor,但是在以下代码中
import lombok.Data;
@Data
public class LombokTest {
public LombokTest(String a) {
// to avoid creation of the default constructor by the Java compiler
}
public static void main(String[] args) {
new LombokTest();
}
}
Run Code Online (Sandbox Code Playgroud)
main 方法中的 new LombokTest() …