当前位置: 首页 > 知识库问答 >
问题:

编译器无法识别重写方法的Lombok Getter

孔睿
2023-03-14

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

public interface TestInterface {

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

以及此接口的一个实现,具有对应于父接口的更多成员。Lombok生成的getters/setters不能被编译器识别,所以我必须添加实际的getter方法来使下面的类可编译。

@Getter
@Setter
public class TestImplementation implements TestInterface {

    Boolean test;
    //more members
}

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

my.package.测试实现不是抽象的,并且不会覆盖TestInterface中my.package.抽象方法isTest()

假设Lombok的getter和setter是在编译之后生成的,我不理解为什么getter的普通调用(由Lombok生成)是可编译的。

共有1个答案

谭云瀚
2023-03-14

问题似乎是,对于字段布尔测试,Lombok将生成一个方法布尔getTest(),而不是接口所需的布尔isTest()。仅当属性为boolean test时,才会得到boolean isTest()方法,但返回类型与接口不匹配。

因此,似乎没有办法自己实现isTest方法。

 类似资料:
  • 问题内容: 我试图将新的(2016) 无 头版Chromium与Selenium / ChromeDriver一起使用(过去,我将Firefox与xfvb一起使用,但这有望变得更好)。 我根据此处找到的说明从源代码中编译了一个无头版本的Chromium(我没有找到任何预构建的二进制文件),然后使用以下代码通过Selenium启动它: 相同的代码适用于标准铬(如果我删除该选件) 但是,我得到以下错误

  • 问题内容: Java SE 6项目是否支持eclipselink jpa2的标准api?如果没有,那是我的问题。我是否需要在persistence.xml中为条件api指定特殊的内容? 这是我的条件查询: 这是我的意思实体: 问题答案: 关于您的代码 我没有检查条件查询本身的正确性,但是,正如克里斯所提到的,您正在将静态元模型类与不会暴露您所要查找的混合在一起。假设已经生成了元模型类,请删除第一行

  • 如何正确拆分字符串,使Words[1]实际上是?谢谢你的帮助!

  • 实际上,我的项目有单元测试。它们都是在< code>/src/test/java/中配置的。最近我需要在< code >/src/androidTest/Java 中添加插装测试。为此,我在< code>build.gradle中添加了espresso依赖项。 之后,我选择了构建变体- 但是当我开始编码时,没有一个依赖项被识别出来: “无法解析符号 onView”、“无法解析符号视图交互”等...

  • 问题内容: 我正在使用石英进行日程安排。 它接受5个参数。(秒,分钟,小时,daysOfMonth,月份)。 当我通过第四个参数作为“ 09”。Eclipse给我错误“ int类型的文字八进制09(数字9)超出范围”。 但是,当我将第四个参数作为“ 9”而不是“ 09”传递时,它起作用了。 谁能解释这个错误? 问题答案: 在Java中,如果要定义整数,则前导“ 0”将表示您正在以八进制定义数字

  • 我正在为tomcat网页创建一个Servlet,这个Servlet不会编译。 我正在使用servlet api。罐子 tomcat的目录结构如下: 所有. jar文件都在。 /Tomcat/tomcat-10/lib/ 要编译的servlet存储在. /Tomcat/tomcat-10/webapps/CenterStage/WEB-INF/classes/ 豆子存放在. /Tomcat/tomc