我只是重构了一些旧项目以使用 Java 8 的功能。
int counter = 1;
for (Checker checker : checkers) {
if (counter < checkers.size()) {
checker.setNextChecker(checkers.get(counter++));
}
}
这是一种 Resp 模式。我需要为列表中的每个检查器设置下一个检查器,不包括最后一个。
这里仍然找不到使用 Stream API 的方法:)
最佳答案
使用IntStream.range
:
IntStream.range(1, checkers.size())
.forEach(i -> checkers.get(i-1).setNextChecker(checkers.get(i)));
或者使用for循环:
for (int i = 1; i < checkers.size(); i++)
checkers.get(i-1).setNextChecker(checkers.get(i));
关于java - 将 for-each 循环替换为 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50006972/