RFR(s): 8060192: Add default method Collection.toArray(generator)
Stuart Marks
stuart.marks at oracle.com
Thu Dec 7 22:58:35 UTC 2017
[Martin: please review changes to the JSR 166 TCK.]
Another updated webrev for this changeset:
http://cr.openjdk.java.net/~smarks/reviews/8060192/webrev.2/
This includes an override of toArray(IntFunction) in the implementation of
Arrays.asList(), as requested by Tagir Valeev.
Overrides are also added for various wrapper classes in j.u.Collections. Turns
out there's a test test/jdk/java/util/Collections/Wrappers.java that checks to
ensure that the wrappers don't inherit any default methods. (This has been a
source of bugs in the past.)
Significantly, this webrev also includes changes to several tests in the JSR 166
TCK. The issue is that these tests have cases for null handling, where they call
coll.toArray(null)
to ensure that NPE is thrown. Given that this method is now overloaded:
toArray(T[])
toArray(IntFunction)
passing null is now ambiguous and thus generates a compiler error. I've modified
the tests to call toArray((Object[])null) which is a bit of a stopgap. I can't
think of anything obviously better to do, though.
s'marks
More information about the core-libs-dev
mailing list