forEach方法中的内部循环每次都会调用 consumer接口的 accept方法,accept是一个没有返回值的方法,所以break, countinue是在 accept方法中使用的,是无效的;至于 return,也是 return的 accept,方法执行完会继续在它的外部循环然后再次调用accept。
所以在lambda表达式 forEach实现结束当前循环,并进入下一次循环的作用使用的是:return
List<String> list = Arrays.asList("a", "b", "c", "d", "e", "f");
list.stream().forEach(item ->{
if(item.equals("e")){
return;
}
System.out.println(item);
});
// 输出结果是:a b c d f