考虑一个问题,我正在开发一个像Collection这样的树.
我的Collection的一个主要功能是逐个跟踪所有存储的项目,然后为每个项目调用给定的函数,直到满足给定的条件(延迟收集).
因此该函数应具有以下签名:
void Trace(function func, criteria crit)
{
item i = firstItem();
while (i != endItem())
{
i = nextItem();
func(i);
if (crit(i))
return;
}
}
Run Code Online (Sandbox Code Playgroud)
在C++函数指针中可以用于func和crit.
在C#,yield关键字正是这个问题的解决方案,我相信.
我怎样才能在Java中获得相同的东西?
| 归档时间: |
|
| 查看次数: |
1978 次 |
| 最近记录: |