Initially Project Coin had enhanced support for collections e.g. list[3]
instead of list.get(3)
and map["hello"] = 27
instead of map.put("hello", 27)
but they were not in jdk7. Are they going to be in jdk8? I could not find a definitive answer for either yes or no.
Answer
Brian Goetz briefly mentions list, set, map (and other possible) literals in this post in the Project Lambda mailing list from 30th May:
http://mail.openjdk.java.net/pipermail/lambda-dev/2012-May/004979.html
To illustrate what I mean by "we could do better", here's an alternative
proposal that gets far more mileage out of #: structured literals.
While these plans are not in place for 8, we have already stated our
desire to add structured literals for lists, maps, sets, etc. # as a
prefix symbol, combined with delimiters, gives us a far higher
return-on-syntax as a structured literal builder (as a bonus, # is
already associated with structured literals in a lot of languages, going
all the way back to many early assembly languages where # was the
immediate addressing mode.)
So to me it seems that even the collection literals won't make it into JDK 8, let alone the get/set/put operators. It's a pity.
Also I do not see anything relating to collection literals or new operators in the list of JDK 8 milestones:
http://openjdk.java.net/projects/jdk8/milestones
No comments:
Post a Comment