बंद करना मैंने close()
विधि का उपयोग कर अंत में जारी किए जाने वाले संसाधन का उपयोग कर एक कस्टम java.util.Iterator लागू किया है। यही कारण है कि संसाधन हो सकता है एक java.sql.ResultSet, एक java.io.InputStream आदि ...java.util.Iterator
public interface CloseableIterator<T> extends Iterator<T>
{
public void close();
}
इस इटरेटर का उपयोग कर पता नहीं हो सकता है कि यह बंद होना चाहिए कुछ बाहरी पुस्तकालयों। उदाहरण:
public boolean isEmpty(Iterable<T> myiterable)
{
return myiterable.iterator().hasNext();
}
उस मामले में, इस इटरेटर को बंद करने का कोई तरीका है?
अद्यतन: वर्तमान उत्तरों के लिए बहुत धन्यवाद। मैं सभी को एक (+1) दूंगा। हैनक्स्ट() झूठी रिटर्न देता है जब मैं पहले से ही इटरेटर बंद कर देता हूं। मेरी समस्या तब होती है जब लूप इटेटिंग से पहले अंतिम उदाहरण के रूप में दिखाया गया है जैसा कि यह मेरे उदाहरण में दिखाया गया है।
पक्का काम करता है, लेकिन बहुत स्मृति कुशल नहीं हो सकता है, या कैशिंग एक बहुत भारी आपरेशन बन सकता है। – Eric