关闭 java.util.Iterator
我已经实现了一个自定义java.util.Iterator,使用一个资源,应该使用方法在最后发布。该资源可以是java.sql.ResultSet,java.io.InputStream等...close()
public interface CloseableIterator<T> extends Iterator<T>
{
public void close();
}
使用此迭代器的某些外部库可能不知道必须关闭它。例如:
public boolean isEmpty(Iterable<T> myiterable)
{
return myiterable.iterator().hasNext();
}
在这种情况下,有没有办法关闭这个迭代器?
更新:非常感谢当前的答案。我会给大家一个(+1)。我已经在 hasNext() 返回 false 时关闭了迭代器。我的问题是当循环迭代在最后一次迭代之前中断时,如我的示例所示。