RFR(s): 8072726: add adapter to convert Enumeration to Iterator

Paul Sandoz paul.sandoz at oracle.com
Tue May 19 15:35:14 UTC 2015


On May 19, 2015, at 3:46 PM, Tomasz Kowalczewski <tomasz.kowalczewski at gmail.com> wrote:
> Are you talking about ClassLoader::{findResources, getBootstrapResources, getResources, getSystemResources} and NetworkInterface::{getInetAddresses, getNetworkInterfaces, getSubInterfaces}?

Yes, all those are potential candidates to consider for additional stream returning methods. A little more care is probably required for ClassLoader.

Paul.

> 
> On Tue, May 19, 2015 at 2:26 PM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
> On May 19, 2015, at 12:41 PM, Tomasz Kowalczewski <tomasz.kowalczewski at gmail.com> wrote:
> > Is there a plan to override the default method asIterator() in specific implementations of Enumeration to avoid creating new object? JarFile::entries already returns JarEntryIterator which is both.
> >
> 
> I suppose one could, it's easy to do in some cases like in JarFile.
> 
> Given that Enumeration is a legacy thing time could be better spent on adding Stream returning methods, which already exist on JarFile/ZipFile.
> 
> Contributions will be warmly received for Stream returning methods on ClassLoader, NetworkInterface etc.!
> 
> 
> > To be fair I did some tests and when I wrap Enumerable into simple Iterator adapter it will almost always get scalar replaced by escape analysis (unless, of course, it actually escapes :)).
> >
> 
> Right :-) works until it doesn't.
> 
> Paul.
> 
> 
> 
> -- 
> Tomasz Kowalczewski




More information about the core-libs-dev mailing list