<b>* Non-programmers don't bother reading this post ;-) * </b>
The new features in JDK 1.5 aka "Tiger" are set to improve the time us Java programmers spend writing code.
In short form they are:
* 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.
I'm really looking forward to all these features but generics and autoboxing / unboxing are my favorites.
The new features in JDK 1.5 aka "Tiger" are set to improve the time us Java programmers spend writing code.
In short form they are:
* 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.
I'm really looking forward to all these features but generics and autoboxing / unboxing are my favorites.