Hi Martin, ----- Mail original ----- > De: "Martin Buchholz" <marti...@google.com> > À: "Stuart Marks" <stuart.ma...@oracle.com> > Cc: "core-libs-dev" <core-libs-dev@openjdk.java.net> > Envoyé: Mardi 5 Décembre 2017 05:26:02 > Objet: Re: RFR(s): 8060192: Add default method Collection.toArray(generator)
> The needToWorkAround6260652 changes ought to be in a separate changeset. > > The biggest question is whether Collection.toArray(generator) pulls its > weight, especially in view of > https://shipilev.net/blog/2016/arrays-wisdom-ancients. > > I rarely want to dump elements into a typed array. Dumping into Object[] > with toArray() is just fine for me (but I'm a biased core library > developer). Dumping an ArrayList<String> into an array of String is fairly frequent, i think. The main issue with the current API, <T> T[] toArray(T[] array), is that T can be unrelated to E (the type of the element in the collection) so one can write ArrayList<Integer> list = ... String[] array = list.toArray(new String[0]); it may even works if the list is empty. It's getting worst if E and T can be a primitive type (with valhalla), because toArray(T[]) as to support all combinations. So in my opinion, introducing toArray(generator) is a step in the right direction. cheers, Rémi