java – 如何逐个读取流?
发布时间:2020-12-14 05:46:32 所属栏目:Java 来源:网络整理
导读:Java Stream.forEach 函数有一个严重的限制,即它的消费者不可能抛出已检查的异常.因此,我想逐个访问Stream的元素. 我想做这样的事情: while(true) { OptionalString optNewString = myStream.findAny(); if (optNewString.isPresent()) doStuff(optNewStrin
Java
Stream.forEach 函数有一个严重的限制,即它的消费者不可能抛出已检查的异常.因此,我想逐个访问Stream的元素.
我想做这样的事情: while(true) { Optional<String> optNewString = myStream.findAny(); if (optNewString.isPresent()) doStuff(optNewString.get()); else break; } 但是, 请注意我不是在询问如何从forEach中抛出异常.这个问题有already been answered. 解决方法
要逐个元素地迭代流,只需调用
iterator() 方法:
Iterator<String> iterator = stream.iterator(); while (iterator.hasNext()) { String element = iterator.next(); // Use element } 目前还不清楚在检查异常方面对你有多大帮助,值得注意的是它是一个终端操作 – 一旦你使用了迭代器,你需要获得一个新的流,如果你想再次迭代 – 但是它确实回答了如何一次读取一个元素的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |