Току-що започнах да изучавам 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));
}
Намерението ми беше да извикам #findChildren с име и параметри за резултат на всеки възел в потока. Опитах се да използвам препратките към метода Node::findChildren без успех. Бих оценил решения, различни от това с оператор ->
.
Възможно ли е по някакъв начин да се използва препратката към метода заедно с параметър? Харесва ми идеята за потоци и просто искам да направя кода по-четлив.
Всъщност мисля, че има подобен въпрос Препратки към метод с параметър, който прочетох, но не мога да разбера как да използвам метода bind2 в моя код. Единственото решение ли е?