Hi Stuart
small question: I find it a bit odd that EnumSet has max 5 parameters,
while Set has more than that.
Also, would it be possible, maybe to add overloads to Set that
specifically works on Enum constants?
<Z extends Enum<Z>> of(Z z1, Z z2) { ... }
This would give you a way to call Set.of and get different answers based
on the static type of the arguments passed in - and we could deprecate
the of method in EnumSet?
Too subtle/magic?
Maurizio
On 02/12/15 02:35, Stuart Marks wrote:
Hi all,
Thanks for the previous round of review comments. Here's an updated
API and implementation for review.
I've run specdiff with the --hu ("hide unchanged") option, so only the
bits of the specification that have changed are shown. As before,
though, please ignore the spurious change to EnumSet caused by a
javadoc bug.
API changes:
- add clarifying notes on immutability
- remove wording that implied creation of new objects
- add "value-based" disclaimers
- add ordering specification for List and non-ordering disclaimers
for Set and Map
- clarify that Map.ofEntries() doesn't store the Map.Entry objects,
instead
it extracts keys and values
- Map.Entry instances returned from Map.entry() are *not* serializable
Other:
- markup cleanups
- small implementation cleanups
JEP:
http://openjdk.java.net/jeps/269
API spec (basically List, Map, and Set):
http://cr.openjdk.java.net/~smarks/reviews/jep269/api.20151201/
Specdiff:
http://cr.openjdk.java.net/~smarks/reviews/jep269/specdiff.20151201/overview-summary.html
Webrev:
http://cr.openjdk.java.net/~smarks/reviews/jep269/webrev.20151201/
Thanks,
s'marks