Loading... (original) (raw)

There exists a method on j.u.Stream that makes it a little easier to create an array of an appropriate type (at the expense of throwing a ArrayStoreException if the array component type is not a super type of all elements in the stream):

A[] toArray(IntFunction<A[]> generator);

An equivalent method can also be added to Collection.

Given the existence of:

Collection.toArray(T[] a)

this does introduce a source code incompatibility for code passing nulls:

toArray(null);

although this is only likely to occur in tests (such as the TCK perhaps).