我刚开始学习Java流并遇到了问题.请看下面的例子.这是Node类的一部分:
private Map<String, Node> nodes;
public Optional<Node> child(String name) {
return Optional.<Node>ofNullable(nodes.get(name));
}
private void findChildren(String name, List<Node> result) {
child(name).ifPresent(result::add);
nodes.values().stream()
// .map(Node::findChildren(name, result))
// .forEach(Node::findChildren(name, result))
.forEach(node -> node.findChildren(name, result));
}
Run Code Online (Sandbox Code Playgroud)
我的目的是使用流中每个节点上的名称和结果参数调用#findChildren.我试图使用方法引用Node :: findChildren没有运气.我很欣赏其他与->
运营商合作的解决方案.
是否有可能将方法引用与参数一起使用?我喜欢流的想法,我只想让代码更具可读性.
实际上,我认为有一个类似的问题方法引用与我读过的参数,但无法弄清楚如何在我的代码中使用bind2方法.这是唯一的解决方案吗?
java lambda java-stream functional-interface method-reference