Java 错误:不兼容的类型:DeviceCheckCallback不是功能接口

Java 错误:不兼容的类型:DeviceCheckCallback不是功能接口,java,android,java-8,retrolambda,Java,Android,Java 8,Retrolambda,我有一个界面,曾经是功能性的。现在我希望它有更多的抽象方法,所以我将它们添加到接口中,并更改所有实现以覆盖这些方法。我在我的项目中使用retrolambda。 当我运行应用程序时,出现以下错误: 错误:不兼容的类型:DeviceCheckCallback不是功能接口 在接口DeviceCheckCallback中找到多个非重写抽象方法 为什么我会看到这个?我不希望此接口再正常工作?您试图为其提供Lambda的接口有多个方法。Lambda只能用于具有单个方法的接口,它们称之为功能接口,或者在该接口

我有一个界面,曾经是功能性的。现在我希望它有更多的抽象方法,所以我将它们添加到接口中,并更改所有实现以覆盖这些方法。我在我的项目中使用retrolambda。 当我运行应用程序时,出现以下错误:

错误:不兼容的类型:DeviceCheckCallback不是功能接口 在接口DeviceCheckCallback中找到多个非重写抽象方法


为什么我会看到这个?我不希望此接口再正常工作?

您试图为其提供Lambda的接口有多个方法。Lambda只能用于具有单个方法的接口,它们称之为功能接口

,或者在该接口处仍有@functionanterface注释,或者在需要该接口类型的位置有Lambda表达式。或者你没有重新编译所有的类。但奇怪的是,您在运行时得到了这个结果。我已经找到了该接口的所有用法,并更改了实现以覆盖新定义的方法。我没有尝试向该接口提供lambda,也没有@functional接口注释。也许您包括了一个Jar或一些仍然需要旧的未更改接口的东西。听起来好像您没有更改该界面的所有用户,或者没有按照Holger的建议重新编译代码。