jdk8中的forEach使用return执行下一次遍历
在使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,而如果要实现在普通for循环中的效果时,可以使用return来达到,也就是说如果你在一个方法的lambda表达式中使用return时,这个方法是不会返回的,而只是执行下一次遍历,看如下代码:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.forEach(str -> {
System.out.println(str);
if (str.equals("1")) {
return;
}
System.out.println("hello");
});
运行结果如下:
1
2
hello
3
hello
可以看出,此处return起到的作用和普通for循环中的continue是相同的。