使用ignorecase生成lombok equals方法

时间:2016-09-13 08:10:03

标签: java lombok

是否可以注释一个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;

    }

}

1 个答案:

答案 0 :(得分:1)

这是可能的,但不要这样做。

Lombok不是自定义工具。它是一种省略样板代码的工具。

@EqualsAndHashCode生成代码,为每个字段调用getter进行比较。 解决问题实现getter:

public getBar() {
    return bar.toLowerCase();
}

比较将采用小写。此getter将被打破