זה פשוט מאוד. החוזה של המתודה equals ב-Java הוא שהיא צריכה להגדיר יחס שקילות, כלומר יחס שהוא: 1. רפלקסיבי 2. סימטרי 3. טרנזיטיבי ועוד תנאי על כך שאף אובייקט אינו שווה ל-null. מתודה שלא מקיימת אחד מהתנאים מנ"ל אינה מקיימת את הנדרש ממתודת equals, וזהו.זה שאתה יכול להגדיר מתודה כזו זה יפה, אבל פשוט אומר שהיא לא מתודת השוואה טובה.