gpt4 book ai didi

java - Iterator.hasNext 应该没有副作用吗?

转载 作者:行者123 更新时间:2023-12-04 11:43:27 25 4
gpt4 key购买 nike

我正在编写一个迭代器,它通过委托(delegate)给“当前”列表自己的迭代器来迭代列表列表。 (不,我不是,但这是一个简单的例子)。现在,当我到达一个列表的末尾时,我需要更新委托(delegate)以指向下一个列表的迭代器。我可以在“hasNext”中这样做吗?还是在返回调用者之前在“下一步”中实现更好?我觉得“hasNext”最好是没有副作用的。您对此有何看法?

最佳答案

hasNext 有副作用是可以的,只要它们从外部无法察觉。最重要的是,它必须是幂等。事实上,hasNext 在不获取 next 的情况下通常无法知道是否存在下一个,即使它可以“取消获取”,也可以缓存。

关于java - Iterator.hasNext 应该没有副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com