根据有关“方法参考”的文档,可以创建:
Reference to an instance method of an arbitrary object of a particular type
我写了以下代码:
public class App {
public static void main(String[] args) {
Function f1 = String::toString;
Function f2 = App::toString; // Compilation error
}
public String toString() {
return "test";
}
}
但是,使用类“ String”的“方法参考”可以很好地编译,而使用我自己的App类的相同“方法参考”不能很好地编译.
有人可以告诉为什么吗?
解决方法:
对于类方法引用,第一个Function类型参数是类的类型,第二个是函数的返回类型.尝试:
Function f2 = App::toString;
标签:java-8,java
来源: https://codeday.me/bug/20191121/2048148.html