La fermeture d'un java.util.Itérateur

J'ai mis en œuvre un custom java.util.Itérateur à l'aide d'une ressource qui devrait être publié à la fin à l'aide d'un close() méthode. Cette ressource pourrait être un java.sql.ResultSet, un java.io.InputStream etc...

public interface CloseableIterator<T> extends Iterator<T>
  {
  public void close();
  }

Certaines bibliothèques externes à l'aide de cet itérateur peut ne pas savoir qu'il doit être fermé. e.g:

public boolean isEmpty(Iterable<T> myiterable)
 {
 return myiterable.iterator().hasNext();
 }

Dans ce cas, est-il un moyen de fermer cette itérateur?

Mise à jour: merci beaucoup pour les réponses actualisées . Je vais vous donner un (+1) pour tout le monde. Je fais déjà proche de l'Itérateur quand hasNext() renvoie la valeur false. Mon problème est que lorsque la boucle d'itération pauses avant la dernière itération comme il est montré dans mon exemple.

InformationsquelleAutor Pierre | 2010-07-15