[Checkers] RFE: Equality checking: equals() is broken in the JDK

Michael Ernst mernst at csail.mit.edu
Mon Oct 20 07:05:06 EDT 2008


These are interesting examples of places that equals() is broken in the
JDK.  A required part of the 6.170 lecture about equality is fulminating
against Java's implementation.  Unfortunately, because of concerns about
backward compatibility, these will probably never been fixed.

The Interning checker finds a specific class of problems in equality
checking.  It's interesting that using an unrelated type system happens to
reveal plenty of other problems with equals().

Thanks for pointing these out!


More information about the checkers mailing list