在Java流中,peek真的仅用于调试吗?

在Java流中,peek真的仅用于调试吗?,第1张

在Java流中,peek真的仅用于调试吗?

关键要点是:

即使达到你的近期目标,也不要以意外的方式使用该API。这种方法将来可能会中断,对于将来的维护者来说也不清楚。

将其分解为多个 *** 作是没有害处的,因为它们是不同的 *** 作。还有就是在不明确的和意想不到的方式,如果这种特定的行为是用Java的未来版本中修改其可能的后果使用API的伤害。

使用forEach该 *** 作将明确维护者,有一个预期中的每个元素的副作用accounts,并且正在执行某些 *** 作,可能发生变异它。

从某种意义上说,它是更常规peek的中间 *** 作,直到终端 *** 作运行后才对整个集合进行 *** 作,但forEach实际上是终端 *** 作。这样,你可以围绕代码的行为和流程提出强有力的论据,而不是询问是否peek行为与forEach在此情况下相同。

accounts.forEach(a -> a.login());List<Account> loggedInAccounts = accounts.stream()        .filter(Account::loggedIn)        .collect(Collectors.toList());


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4938234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存