RFR(s): 8060192: Add default method Collection.toArray(generator)
Stuart Marks
stuart.marks at oracle.com
Wed Dec 6 21:42:27 UTC 2017
On 12/5/17 8:41 PM, Bernd Eckenfels wrote:
> Should the test also check for the case the generator returns under- and oversized arrays?
Did you mean that the default implementation (and various overriding
implementations) of toArray(generator) should do checks on the array that's
returned from the generator? If so, I'm skeptical of the utility of adding such
checks.
If the array is too short, ArrayIndexOutOfBoundsException will occur, so no
check is necessary. If the array is too long, it will work, but the application
might have trouble ascertaining the number of elements copied. Presumably it
wouldn't create a too-long array unless it can deal with this. In any case, it
doesn't necessarily seem like this should be an error.
> The default impl looks less efficient than (new T[0]), should it really be removed as a major Javadoc example? (Or maybe add more specific implementations besides ArrayList?)
Although my benchmarks were inconclusive, it doesn't seem like the extra call to
the generator with zero should be a performance problem. Even if this is a
problem, it will disappear as more overrides are added to the system.
s'marks
More information about the core-libs-dev
mailing list