【发布时间】:2015-07-03 21:17:10
【问题描述】:
问题:找到一系列对象,并为每个对象检查一个条件,但是我们只需要找到这个条件一次,方法 isWhat 就可以返回它的值。
def isWhat: Boolean = SomeGenerator.findAll().filter(_.someCondition).size > 0
上面的代码将对每个对象调用 someCondition,即使已经发现一个对象具有所需的条件。
总体上有更好的方法来编写此代码,但是让我们假设我们无权修改 someCondition 代码——如果是这种情况,如何在上面的级别编写代码以不进行任何不必要的调用?
想到了流...
【问题讨论】:
-
@user2864740 我不会将数百行代码和大量数据存储拖到示例中:) 它说明了问题的全部。