关闭一个java.util.Iterator
- 论坛
- 关闭一个java.util.Iterator
12 浏览
关闭一个java.util.Iterator
我使用一个资源实现了一个自定义的java.util.Iterator,在最后使用close()方法释放资源。这个资源可以是java.sql.ResultSet、java.io.InputStream等等。
public interface CloseableIterator
{
public void close();
}
一些使用这个迭代器的外部库可能不知道它必须关闭。例如:
public boolean isEmpty(Iterable
{
return myiterable.iterator().hasNext();
}
在这种情况下,有办法关闭这个迭代器吗?
更新:非常感谢当前的答案。我给每个人点个赞。当hasNext()返回false时,我已经关闭了迭代器。我的问题是当循环迭代在最后一次迭代之前中断,就像我的例子中显示的那样。