Friday, August 29, 2008

sumarry of jdk 5.0 enhancements

  • Generics - Provides compile-time type safety for collections and eliminates the drudgery of casting.

  • Enhanced for loop - Eliminates the drudgery and error-proneness of iterators.

  • Autoboxing/unboxing - Eliminates the drudgery of manual conversion between primitive types (such as int) and wrapper types (such as Integer).

  • Typesafe enums - Provides all the well-known benefits of the Typesafe Enum pattern (Effective Java, Item 21) without the verbosity and the error-proneness.

  • Static import - Lets you avoid qualifying static members with class names, without the shortcomings of the Constant Interface antipattern (Effective Java, Item 17).

  • Metadata - Lets you avoid writing boilerplate code, by enabling tools to generate it from annotations in the source code. This leads to a "declarative" programming style where the programmer says what should be done and tools emit the code to do it.