I was very happy when I wrote this but Matt Quail scared me badly. Though pertinent, I hope such scepticism is later proven unfounded. Don Park insists that there was no need to go for features like “Generics” when there were other critical pending issues like extending SWT and incremental installation. But as Joshua Bloch said, none of the changes will be that hard for developers to adjust to…one that might require some adjustment, it would be generics, because you’ll have to get used to providing additional information in declarations. Instead of merely saying:

[code lang=”java”]
List words = new ArrayList();
[/code]

You’ll have to say:

[code lang=”java”]
List<String> words = new ArrayList<String>();
[/code]

Moreover, many features have been due for long. For instance, using constant interfaces has been a prevalent and sometimes recommended practice despite of us knowing that Interfaces should only be used to define types; any other use is an abuse. Using an interface causes internal details — such as constants — to leak into the class’ public API. I am no expert but methinks static import was a much needed feature.