@Data@AllArgsConstructor@NoArgsConstructor
时间: 2024-08-17 11:01:21 浏览: 50
`@Data`, `@AllArgsConstructor`, 和 `@NoArgsConstructor` 是Lombok库中的一些注解,它们用于简化Java Bean的创建过程。Lombok是一个流行的Java库,它允许开发者通过注解直接生成构造器、getter/setter、equals/hashCode等常用方法,而无需手动编写大量的 boilerplate(样板)代码。
1. **@Data**:这是一个组合注解,包含了`@ToString`, `@EqualsAndHashCode`, 和 `@RequiredArgsConstructor`。当你添加这个注解到类上时,Lombok会自动为你生成这些常见的JavaBean行为,包括一个无参数的构造器(如果存在默认构造器的话)、toString方法以及equals和hashCode的实现。
2. **@AllArgsConstructor**: 这个注解会在类上生成一个有所有非final属性作为参数的构造器。如果你只想生成特定属性的构造器,可以指定哪些属性。
3. **@NoArgsConstructor**: 它会在类上生成一个没有任何参数的构造器,这对于那些不需要额外初始化的类非常有用。
例如:
```java
@Data // 使用@Data相当于使用@ToString, @EqualsAndHashCode, and @RequiredArgsConstructor
public class Person {
private String name;
private int age;
}
```
有了这些注解,你可以这样创建Person对象:
```java
Person person = new Person(); // 默认构造器
Person person2 = new Person("Alice", 30); // 包含两个参数的构造器
```
阅读全文