RFR(m): JEP 269 initial API and skeleton implementation (JDK-8139232)
Rezaei, Mohammad A.
Mohammad.Rezaei at gs.com
Tue Nov 24 14:58:51 UTC 2015
Can the Javadoc for of() (no args) be enhanced to spell out the cost/garbage semantics? Collections.emptyList() does a great job of that:
* @implNote
* Implementations of this method need not create a separate <tt>List</tt>
* object for each call. Using this method is likely to have comparable
* cost to using the like-named field. (Unlike this method, the field does
* not provide type safety.)
Thanks
Moh
>-----Original Message-----
>From: core-libs-dev [mailto:core-libs-dev-bounces at openjdk.java.net] On Behalf
>Of Stuart Marks
>Sent: Tuesday, November 24, 2015 1:26 AM
>To: core-libs-dev
>Subject: RFR(m): JEP 269 initial API and skeleton implementation (JDK-8139232)
>
>Hi all,
>
>Please review these API and implementation changes that comprise the first
>integration of JEP 269. I intend to push this under the "initial API and
>skeleton implementation" subtask, JDK-8139232.
>
>Changes since the previous review:
> - more precise wording regarding static factory methods (thanks Remi)
> - add defensive copy and test for List.of(E...) (thanks Michael Hixson)
> - more null checking and tests
> - various small wording cleanups
> - @since 9
>
>I've left the fixed-arg overloads at ten for all three interfaces. The fixed-
>arg
>methods provide a useful fast path for initialization and non-desktop,
>non-server cases. The cost is some API clutter; ten elements or pairs is
>rather
>a lot. This number should be sufficient, though, to handle the vast majority
>of
>cases without having to switch to varargs. Note that the clutter is only in
>the
>API definitions, and it doesn't intrude into the point of call (at least for
>List and Set). For the Map case, it's particularly useful to have lots of
>fixed-arg overloads, since the varargs case requires switching APIs and adding
>more boilerplate.
>
>I've also updated the JEP text to reflect the current proposal, mainly the
>removal of the static factory methods from the concrete classes.
>
>JEP:
>
> http://openjdk.java.net/jeps/269
>
>API spec (basically List, Map, and Set):
>
> http://cr.openjdk.java.net/~smarks/reviews/jep269/api.20151123/
>
>Specdiff:
>
> http://cr.openjdk.java.net/~smarks/reviews/jep269/specdiff.20151123/over
>view-summary.html
>
>Webrev:
>
> http://cr.openjdk.java.net/~smarks/reviews/jep269/webrev.20151123/
>
>Thanks,
>
>s'marks
More information about the core-libs-dev
mailing list