Lombok 避坑指南

497 阅读1分钟

好用的 @Data 注解

@Data 注解中包含 @EqualsAndHashCode, 且默认 callSuper 参数为false, 会导致使用该注解的继承类equals方法出现问题:仅比较当前类的字段, 忽略父类字段。

  • 该设置在非继承场景中是合适的,避免调用默认继承对象 Object#equals 方法而造成仅在是同一个对象时(地址)才返回true;
  • 但在几乎所有继承场景中, 该参数都是不合适的, 需要手动增加 @EqualsAndHashCode(callSuper=true) 来显示覆盖默认配置;