This is the last session I plan on attending today, and it's titled "Experiences with the 1.5 Language Features: Tips and Techniques" by Tim Hanson and Jess Garms of BEA. Tonight looks to be a good time with the JBoss Party, Java Blogger Meetup (@ Thirsty Bear), the Pavilion Party. Times for the events are 5-9, 6-8 and 6:30-8. This conference is definitely packed, and I expect the parties to be the same. In other words, the best part of this shindig is yet to begin.
This talk is about how to make effective use of the new 1.5 Language Features in your applications.
For Each Loop: Initialization expression is evaluated once (unlike former). Major limitation of using the new for each loop is you don't have access to the index or the iterator.
Annotations: Built-in annotations - i.e. @SuppressWarnings("deprecation"). Possible values: all, deprecation, unchecked, fallthrough, path, serial, finally. This annotation is not supported in the latest version of Java 5, it is supported in Mustang and Eclipse 3.1. @Deprecated is another built-in annotations. If you use this tag, you should use the @deprecated javadoc tag as well. Last one is @Override, which is used to indicate that a method declaration is intended to override a method declaration in a superclass. If the superclass signature changes, this annotation will make sure you change it in child classes.
Annotations are especially useful for frameworks (i.e. EJBs, Web Services, etc.). Not a preprocessor, not a silver bullet.
Enums: Better than static final int. Type-safe. Utility classes: java.util.EnumMap and EnumSet. Public static final int-like behavior: Comparable, statically importable (even as an inner class).
Varargs: Special syntax for cleaning up code. Allows you to use "String... args" instead of a whole slew of methods that take multiple arguments. Use them sparingly - avoid code that casts.
Covariant Returns: Replaces three anti-patterns.
Using Generics: Example from Collections - static
I give up - this guy has been going on about Generics for far too long. Time to go hunt down some parties.