gpt4 book ai didi

java - 引用特定类型的任意对象的实例方法...不能使用自定义类?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:57 33 4
gpt4 key购买 nike

根据“方法引用”的文档,可以创建:

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<App, String> f2 = App::toString;

关于java - 引用特定类型的任意对象的实例方法...不能使用自定义类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27344097/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com