Tim Bray, who has spoken out previously on the goodness of “scripting languages”, laments the pain caused by the combination of Java Generics, Arrays, and Comparables. Given Java’s strongly-typed nature, I think generics are a good thing, because they extend the typing protection. (If you’re going to buy in to static typing, you might as well go all the way!) If you are trying to compare arrays of objects in Java, you’d do well to look at Tim’s post and save yourself some time.
On seeing those snippets of code, I’m just happy to be working in a dynamically-typed language with friendly syntax. For folks who do like strongly-typed languages and want to be able to continue working with Java classes, take a look at Nice to see how things *could* work.