ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

@DATA注解

2022-05-20 21:00:20  阅读:27  来源: 互联网

标签:EqualsAndHashCode callSuper false Data 子类 注解 DATA


@Data相当于

  • @Getter
  • @Setter
  • @RequiredArgsConstructor
  • @ToString
  • @EqualsAndHashCode

这5个注解的合集。所以可知,当使用@Data注解时,则有了@EqualsAndHashCode注解,那么编译后就会自动重写equals() 和 hashCode()方法。用在一般的普通实体类不会出现什么问题,但是当用来派生类上时,可能会导致不必要的错误。


大致意思是默认重写生成子类的equals和hashCode方法,不会包含或者考虑父类的属性。如果这是我们想要的操作,建议加上@EqualsAndHashCode(callSuper = false)注解。

也就是说,@Data注解在派生子类上时默认@EqualsAndHashCode(callSuper = false),即重写子类的equals和hashcode不包含父类

添加注解@EqualsAndHashCode(callSuper = false),报警消失

标签:EqualsAndHashCode,callSuper,false,Data,子类,注解,DATA
来源: https://www.cnblogs.com/Arborblog/p/16293708.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有