Sunday 11 August 2019

java - Are Project Coin's collection enhancements going to be in JDK8?




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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...