1、java 8 新特性,forEach方法来遍历集合,在lambda表达式中的return并不会终止循环,这是由于lambda的底层实现导致的。
private static void continueForeachJava8(int max, List<String> list) {
list.forEach(s -> {
if (s.length() >= max) {
return;
}
System.out.println(s);
});
}
解决方法:使用加强for循环。
private static void continueFor(int max, List<String> list) {
for (String s : list) {
if (s.length() >= max) {
continue;
}
System.out.println(s);
}
}