Coward mentions in this post that there have not been in Java language changes since the numerous features (Enum Types, Generics, Enhanced for Loop, Annotations, static import, variable number of arguments, and so forth) introduced with J2SE 5.
After mentioning the likely addition of module support and annotations on Java types (JSR 308), Coward moves on to the likely Java SE 7 additions from Project Coin. I have blogged before on Project Coin and its small language changes.
Groovy currently provides support for some of the features that Coward's blog post implies are likely to make it into Java SE 7. These include switching on Strings and null-safe operators. Other features included in Project Coin that are likely to make the cut include Automatic Resource Management (ARM) blocks and more sophisticated exception handling (this feature is available on the JVM via JRuby).
Besides learning new information what is likely to make it into Java SE 7, the post is also interesting because of the reader comments. Clearly, not everyone is happy about what has nearly made it into Java SE 7 or has already missed out on making it into Java SE 7. There is also concern, confusion, and perhaps even a little conspiracy theory speculation regarding what makes it into Java SE 7. I found Joseph Darcy's 2009 JavaOne presentation to be somewhat enlightening on this subject.
Before ending this post, I have two quick sidenotes. First, Darcy's blog post on what earns deprecation in the JDK is interesting. He also points out the reasons for using both
@deprecatedin Javadoc and
@Deprecatedin source code. My second side note is that, in honor of today being the 40th anniversary of Armstrong and Aldrin walking on the moon, I recommend watching the under-appreciated movie The Dish.