我想创建一个将打印方法引用作为参数的方法。有什么办法可以创建如下所示的方法吗?public static void main(String [] args) { runFunction(System.out::print); }public static void runFunction(MethodRef methodRef){ methodRef("test");}编辑:我已经创建了一个类似的功能接口;public interface Generatable<T> { void generate(T t);}我将我的runFunction更新为;public static void acceptFunction(Generatable generatable){ generatable.generate("test");}这种方法效果很好,但我仍然不知道它是如何工作的。我的意思是当我调用generate(“ test”)时,它如何调用打印方法。
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
是的,您可以将Consumeras用作:
public static void runFunction(Consumer consumer){
consumer.accept("test");
}
旁注:仅支持使用功能编程Java 8 +。因此,如果您使用Java低于8的任何版本,则将无法使用,并且没有简单的方法可以满足您的要求。
添加回答
举报
0/150
提交
取消