Saturday, October 09, 2004

Jumping to Java 5

* Java 5 - "final" is not final anymore "It makes sense to allow updates to final fields. For example, we could relax the requirement to have fields non-final in JDO. If we read section 9.1.1 carefully, we see that we should only modify final fields as part of our construction process. The use case is where we deserialize an object, and then once we have constructed the object, we initialise the final fields, before passing it on. Once we have made the object available to another thread, we should not change final fields using reflection. The result would not be predictable."
* Annotations in Tiger, Part 1: Add metadata to Java code "Annotations are modifiers you can add to your code and apply to package declarations, type declarations, constructors, methods, fields, parameters, and variables. Tiger includes built-in annotations and also supports custom annotations you can write yourself."
* AbstractStringBuilder "AbstractStringBuilder and its subclasses demonstrate another new feature of Java 5.0: covariant returns. This is the ability to narrow the return type of a method when you override it in a subclass. It got added to the language along with generics." See also, Generics Tutorial.
* alt.lang.jre: Twice as Nice "Java 5.0 incorporates generic types as an effective means of addressing ClassCastExceptions, but this adaptation will do little for many corporations still using Java 1.3. Nice, on the other hand, was developed with ClassCastExceptions and NullPointerExceptions in mind. As such, the language supports two features, parametric classes and optional types, that go a long way toward keeping applications from throwing these exceptions. What's more, with Nice you can employ these features today, on any Java platform 1.2 or higher."
* Tiger's Corner - Displaying array contents java.util.Arrays has a toString or deepToString for multi-dimensional arrays which will print out the contents of an array.
* Why Mac Developers are Concerned About the J2SE 5.0 Wait Highlights the historic lag of porting Java to Apple OSes.

No comments: