阿里插件检查 lombok报错---方法缺少 '@Override' 注解

 问题:

Eclipse里,阿里编码规约插件扫描代码出现,但是idea却没有。

 

解决:

将以上注解改成

@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)

 

原因:

1、@Data包含了@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode。

  @RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private,不要用此。特殊需求自己写。

  @Accessors:设置前缀。如:@Accessors(prefix = "abc") private String abcAge 当生成get/set方法时,会把此前缀去掉。

  @EqualsAndHashCode:默认仅使用该类中定义的属性且不调用父类的方法,可通过callSuper=true解决。

2、不管用@Data还是@Setter时,加上@EqualsAndHashCode都会报“缺少@Overide”错误。

  以后用到比较对象时,采用id比较,如果非要比较全字段时,自行实现,如

@Override
public int hashCode() {
    return super.hashCode();
}
@Override
public boolean equals(Object obj) {
    return super.equals(obj);
}

 

lombok详解:https://www.jianshu.com/p/365ea41b3573

 

posted @ 2019-01-23 14:25  遥远2  阅读(799)  评论(0)    收藏  举报