以 lambda 形式执行功能接口
Execute functional interface as lambda
我不确定这个标题是否真的符合我想表达的意思。让我用一个例子来解释它:
public static void test() {
Consumer<String> c = System.out::println;
c.accept("hello world");
}
我想知道是否有更多 "sophisticated" 的方法来执行功能接口,例如 c("hello world")
。
提前致谢!
否。您可以像示例中那样通过调用方法来调用它。
不,这不可能。 Java最初并不是设计成函数式语言的,所以不幸的是Java的现代函数式特性有点"bolted-on"的感觉。另一方面,一些更现代的语言,例如 Kotlin(或稍微不那么现代的语言,例如 Scala),do 允许您调用功能接口(或该语言中的等效接口) ) 就好像这是一个简单的方法。
我不确定这个标题是否真的符合我想表达的意思。让我用一个例子来解释它:
public static void test() {
Consumer<String> c = System.out::println;
c.accept("hello world");
}
我想知道是否有更多 "sophisticated" 的方法来执行功能接口,例如 c("hello world")
。
提前致谢!
否。您可以像示例中那样通过调用方法来调用它。
不,这不可能。 Java最初并不是设计成函数式语言的,所以不幸的是Java的现代函数式特性有点"bolted-on"的感觉。另一方面,一些更现代的语言,例如 Kotlin(或稍微不那么现代的语言,例如 Scala),do 允许您调用功能接口(或该语言中的等效接口) ) 就好像这是一个简单的方法。