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

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