使用Project Lombok调用不明确的方法

时间:2018-05-03 19:04:55

标签: java intellij-idea lombok intellij-lombok-plugin

我有以下代码:

import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
public class NameParserResponse {
    private boolean match;
}


public class Main {

    public static void main(String[] args) {
        NameParserResponse nameParserResponse = NameParserResponse.builder().build();
        nameParserResponse.isMatch();
    }
}

当尝试引用isMatch()时,我得到:

Ambiguous method call. Both

isMatch () in Response and
isMatch () in Response match

enter image description here

我也尝试删除@Builder注释,但这没有帮助。

2 个答案:

答案 0 :(得分:3)

Hrisey插件外,我看起来还安装了Project Lombok Intellij插件。当我在寻找Project Lombok插件时,我一定是不小心安装了这个。

禁用此插件后,问题不再存在。

答案 1 :(得分:0)

IntelliJ对代码的“de-Lombok”进行了重构,这将把Lombok魔法扩展为在幕后自动生成的更冗长的代码。当我以前遇到这样的奇怪之处时,查看实际生成的代码,而不仅仅是猜测它,帮助使问题更加清晰。 YMMV。

祝你好运。