编译器无法识别Lombok Getter作为替代方法

时间:2018-11-08 13:56:37

标签: java lombok

假设我们在外部工件中具有接口TestInterface,我们将无法更改:

public interface TestInterface {

    Boolean isTest();
    //more getter and setter methods
}

以及此接口的实现,其中更多成员对应于父接口。 Lombok生成的getters / setter方法无法被编译器识别,因此我必须添加实际的getter方法以使以下类可编译。

@Getter
@Setter
public class TestImplementation implements TestInterface {

    Boolean test;
    //more members
}

编译错误是未实现接口方法时遇到的标准错误:

my.package.TestImplementation不是抽象的,并且不会覆盖my.package.TestInterface

中的抽象方法isTest()

假设Lombok的getter和setter是在编译后生成的,我不明白为什么正常的getter(由Lombok生成)调用是可编译的。

1 个答案:

答案 0 :(得分:5)

问题似乎在于,对于字段Boolean test,Lombok将生成方法Boolean getTest(),而不是接口要求的Boolean isTest()。仅当属性为boolean test时,您才能使用boolean isTest()方法,但是返回类型与接口不匹配。

因此,似乎无法自行实现isTest方法。