问题
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.
回答1:
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
来源:https://stackoverflow.com/questions/13692213/are-project-coins-collection-enhancements-going-to-be-in-jdk8