如何创建一个以打印方法引用为参数的函数?

我想创建一个将打印方法引用作为参数的方法。有什么办法可以创建如下所示的方法吗?


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”)时,它如何调用打印方法。


白衣染霜花
浏览 175回答 2
2回答

jeck猫

是的,您可以将Consumeras用作:public static void runFunction(Consumer consumer){&nbsp; &nbsp; consumer.accept("test");}旁注:仅支持使用功能编程Java 8 +。因此,如果您使用Java低于8的任何版本,则将无法使用,并且没有简单的方法可以满足您的要求。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java