Из удивительного места растут руки у разработчиков шестой джавы - не везде, но местами. Вот цитата из документации java.util.Formatter для java5:
String s2 = String.format("Duke's Birthday: %1$tm %<$te,%<$tY", c);
а теперь ее точный аналог для java6:
String s2 = String.format("Duke's Birthday: %1$tm %<te,%<tY", c);
Заметили разницу? Правильно! Компилятор скушает обе строки, но программа, написанная под пятую джаву, весело упадет в рантайме. Верный признак необходимости пересадки рук разработчикам шестой версии. Ну и хозяйке на заметку, конечно.
Ссылки по теме:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html
http://java.sun.com/javase/6/docs/api/java/util/Formatter.html