@RequiredArgsConstructor 是 Lombok 提供的一个注解,用于自动生成带有 final 修饰符的成员变量的构造方法。当一个类中存在多个 final 修饰符的成员变量时,使用 @RequiredArgsConstructor 可以避免手动编写重复的构造方法代码。
使用 @RequiredArgsConstructor 注解时,Lombok 会自动生成一个包含所有 final 成员变量的构造方法,并将其标记为 public 和 final。如果类中还存在其他非 final 成员变量,则不会被包含在自动生成的构造方法中。
例如,假设有一个类 Person,其中有两个 final 成员变量 name 和 age:
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class Person {
private final String name;
private final int age;
private String address;
}
使用 @RequiredArgsConstructor 注解后,Lombok 会自动生成以下代码:
public class Person {
private final String name;
private final int age;
private String address;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
可以看到,Lombok 自动生成了一个带有 name 和 age 两个 final 成员变量的构造方法,而 address 成员变量则没有被包含在其中。
总之,@RequiredArgsConstructor 是 Lombok 中的一个注解,用于自动生成带有 final 修饰符的成员变量的构造方法,可以避免手动编写重复的构造方法代码。