【发布时间】:2020-12-11 09:30:30
【问题描述】:
见下文,我正在使用旧的 for 循环和如此多的 if 条件,我需要您的支持才能将其转换为 Java 8 forEach。我很无力解决这个问题。
在这里,我使用旧的 for 循环迭代订单对象,一次将 500 条数据发送到第三方服务器。 因为第三方服务器当时只允许 1500 行数据。所以我根据限制 1500 拆分列表。
这只是我的独立课程。我的意图是将旧的 for 循环转换为 java 8 流。
【问题讨论】:
-
为什么你想用
forEach替换它 -
使用流不会神奇地使代码更具可读性,当然也不会更快。实现可读性的第一步是重构您的代码,以避免有 3 个不同的复制粘贴块调用
sendToCarwings。 -
在重构此类代码时,最好从最内层开始。首先将相同的块提取到一个方法中。
-
@tucuxi 确实 - 我对 OP 的建议是将代码重新转换为 first 处理将完整请求分解为
List<List<Orders>>的形式,其中每个列表是最多 500 个元素。然后他们可以使用 range-for 来处理并发送每个请求。 -
这只是我的独立类,实际上,我已经用记录器优化了代码,命令方法一切。我的意图是将旧的 for 循环转换为 java 8 流。
标签: java java-stream