7

我有以下代码:

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

在此处输入图像描述

我也尝试删除@Builder注释,但这无济于事。

4

2 回答 2

4

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

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

于 2018-05-14T15:53:55.763 回答
0

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

祝你好运。

于 2018-05-14T13:39:19.300 回答