在Java8的foreach()中使用return
程序员文章站
2022-07-12 20:29:42
...
在使用jdb8的lambda表达式遍历集合时,如果想要跳过当次循环执行下个循环,可以使用return,使用continue会编辑报错。
public class T {
private static StateQueue<String> queue = new StateQueue<>();
/**
* <p><b>Description:</b> </p>
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
queue.put("1");
queue.put("2");
queue.put("3");
queue.put("4");
queue.put("");
queue.put("5");
queue.put("6");
new Thread(()-> {
while(true) {
System.out.println("处理……");
String eventId = null;
try {
eventId = queue.take();
} catch (InterruptedException e) {
continue;
}
if(StringUtils.isEmpty(eventId)) continue;
}
}).start();
queue.forEach(q->{
if("".equals(q)) return;
System.out.println("遍历"+q);
});
}
以下为执行结果截图:
可以看出,return在这里并没有跳出循环,而是相当于了continue。
推荐阅读
-
在ASP.NET 2.0中操作数据之十四:使用FormView 的模板
-
在ASP.NET 2.0中操作数据之三十三:基于DataList和Repeater使用DropDownList过滤的主/从报表
-
在C#中 webbrowser的使用心得
-
关于C# 5.0 CallerMemberName CallerFilePath CallerLineNumber 在.NET4中的使用介绍方法
-
在PYQT5中QscrollArea(滚动条)的使用方法
-
接口对象的实例化在接口回调中的使用方法
-
solr在java中的使用实例代码
-
深入理解C#中foreach遍历的使用方法
-
在Python中定义和使用抽象类的方法
-
在ASP.NET 2.0中操作数据之十:使用 GridView和DetailView实现的主/从报表