我正在编写一个迭代器,它通过委托给"当前"列表自己的迭代器来遍历列表列表.(不,我不是,但这是一个简单的例子).现在,当我到达一个列表的末尾时,我需要更新委托以指向下一个列表的迭代器.我可以在"hasNext"中执行此操作吗?或者在返回呼叫者之前在"下一个"中实施是否更好?我觉得"hasNext"应该更好地免费副作用.你对此有何看法?
hasNext只要它们不能从外部感知,就可以产生副作用.最重要的是,它必须是幂等的.事实上,通常情况下hasNext无法知道是否有下一个没有取出它,即使它可以"取消",也可以缓存.
| 归档时间: |
|
| 查看次数: |
521 次 |
| 最近记录: |