gpt4 book ai didi

Java:接收指向其他方法(lambda)的指针的方法

转载 作者:行者123 更新时间:2023-11-30 01:16:08 25 4
gpt4 key购买 nike

最近我一直在尝试熟悉 Java 8 中 lambda 的用法。
我发现我可以将指向另一个方法的指针传递给某个方法,如下所示:

List<Integer> numbers = asList(1,2,3,4,5,6,7,8,9);
forEach(System.out::println, numbers);

这对我来说很清楚。
但是,如何创建一个需要这样的指针的方法?
它应该像在 eg 中那样工作吗? C++?还是我的期望值太大了?

最佳答案

期望方法引用的方法使用函数式接口(interface)作为它们的工具。

numbers.forEach(System.out::println);为例

forEach定义为:

void forEach(Consumer<? super T> action)

这意味着它需要一个符合 Consumer 的单一方法的方法引用或 lambda 表达式。功能接口(interface)。

Consumer<T>有一个方法 - void accept(T t) .这意味着它需要一个需要单个参数且没有返回值的方法。 System.out::println符合这个要求。

关于Java:接收指向其他方法(lambda)的指针的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27183429/

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