我想要编译但得到上述错误。基本上这就是我所拥有的。
java.lang.Object obj = Account::getTestaccount;
Account是一个具有使用setter和getter方法声明的TestAccount对象的类。
有人可以告诉我为什么会发生错误。谢谢。
答案 0 :(得分:4)
lambda表达式的目标类型或方法引用必须为functional interface,即任何具有SAM(单一抽象方法)的接口。
您的代码无效,因为java.lang.Object
不是功能界面。
查看您提供的代码段,似乎您正在寻找Supplier功能界面或Supplier
的特定专业化。
Java 8
提供了丰富的功能接口系列,可在此处找到:package java.util.function。