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