@Data相当于
- @Getter
- @Setter
- @RequiredArgsConstructor
- @ToString
- @EqualsAndHashCode
这5个注解的合集。
@Setter @Getter:作用于属性上,自动生成getter和setter方法
@NonNull:判断是否为空,如果为空,则抛出java.lang.NullPointerException
@Synchronized:作用在方法上,自动添加到同步机制,生成的代码并不是直接锁方法而是锁代码块
@ToString:生成toString()方法,该注解有以下多个属性可以进一步设置:
callSuper:是否输出父类的toString方法,默认为false
includeFieldNames:是否包含字段名称,默认为true
exclude:排除生成tostring的字段
@EqualsAndHashCode
@Cleanup:用于确保已分配的资源被释放,自动帮我们调用close()方法。比如IO的连接关闭。
@SneakyThrows
@NoArgsConstructor:自动生成无参数构造函数。
@AllArgsConstructor:自动生成全参数构造函数。
本文详细介绍了Java中常见的注解,如@Data、@NonNull、@Synchronized、@ToString等,及其作用。@Data自动生成getter和setter,@NonNull用于检查空指针,@Synchronized实现线程同步,@ToString生成toString方法。此外,还提到了@Cleanup自动释放资源,@SneakyThrows简化异常处理,以及@NoArgsConstructor和@AllArgsConstructor自动生成构造函数。这些注解在实际开发中能提高代码的可读性和维护性。
1099

被折叠的 条评论
为什么被折叠?



