是否可以注释一个String字段,以便lombok生成一个忽略String值的情况的equals方法
即。生成这样的东西
public class Foo {
private String bar;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Foo foo = (Foo) o;
return bar != null ? StringUtils.equalsIgnoreCase(bar, bar) : foo.bar == null;
}
}
答案 0 :(得分:1)
这是可能的,但不要这样做。
Lombok不是自定义工具。它是一种省略样板代码的工具。
@EqualsAndHashCode
生成代码,为每个字段调用getter进行比较。
解决问题实现getter:
public getBar() {
return bar.toLowerCase();
}
比较将采用小写。此getter将被打破。