1.  自动生成getter和setter方法‌:对于类中的每个字段,@Data注解会自动生成对应的getter和setter方法。这样可以避免手动编写大量的getXXX()和setXXX()方法‌

2.  自动生成toString()方法‌:@Data注解会为类生成一个toString()方法,该方法会返回类中所有字段的值,格式化为字符串。这对于调试和日志记录非常有用‌

3.  ‌自动生成equals()和hashCode()方法‌:基于类中的字段,@Data注解会生成equals()和hashCode()方法。这两个方法在比较对象是否相等或作为哈希表的键时非常重要‌

4.  ‌自动生成构造函数‌:如果类中没有显式定义构造函数,@Data注解会生成一个无参构造函数。如果需要,也可以通过其他注解(如@AllArgsConstructor或@NoArgsConstructor)生成带参数的构造函数‌

@Data注解是通过在编译时对类进行扫描和处理来实现上述功能的。当你在类上使用@Data注解时,Lombok库会在编译过程中自动生成相应的代码片段,这些代码片段会被插入到你的类定义中。具体来说,Lombok使用Java的注解处理器API来分析带有@Data注解的类,并生成相应的getter、setter、toString、equals和hashCode等方法。这些方法的具体实现逻辑会根据字段的类型和数量自动生成,确保代码的简洁性和一致性

 
posted on 2025-06-27 19:44  极北长弓  阅读(194)  评论(0)    收藏  举报