this might have been discussed before, but I had some problems with the auto-generated equals() and hashCode() when my class contains arrays...
I'm using IntelliJ 7.0.2 and Java 1.4. Java 1.4 contains the method Arrays.equals(), whereas Arrays.hashCode() was introduced in Java 5. So when IntelliJ generates the equals()-method, Arrays.equals() is used for the array, but in the hashCode()-method, the hashCode() of the array is calculated by using Object.hashCode(). A bit difficult to explain, maybe it is easier if you look at the attached file.
Anyway, I believe this is a "bug" in IntelliJ as this breaks the contract of the hashCode()-method which says that object value equality implies hash code equality.
BTW: Eclipse generated a correct equals() and hashCode() :)