是否可以将方法存储到变量中?就像是
public void store() {
SomeClass foo = <getName() method>;
//...
String value = foo.call();
}
private String getName() {
return "hello";
}
我认为 lambda 可以做到这一点,但我不知道如何做到。
原文由 fangio 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,您可以拥有对任何方法的变量引用。对于简单的方法,通常使用
java.util.function.*
classes 就足够了。这是一个工作示例:如果您的方法与这些接口中的任何一个都不匹配,您可以定义自己的方法。唯一的要求是必须有一个抽象方法。