equals() and hashCode() Not Paired  

 

equals() and hashCode() Not Paired °Ë»ç´Â ºÎÇÕÇϴ ¦ÀÌ ¾øÀÌ ´ç½ÅÀÇ Äڵ忡¼­ ¿À¹ö¶óÀ̵åµÈ equals() ¶Ç´Â hashCode()  ¸Þ¼Òµå¸¦ ã°í ±×µéÀ» ÁöÀûÇÕ´Ï´Ù.


¸¸ÀÏ equals() and hashCode() not paired   üũ ¹Ú½º°¡ ¼±Åõǰí Inspection ÀÌ ¾î¶² ¹®Á¦¸¦ ã´Â´Ù¸é Inspection Åø À©µµ¿ì´Â ±×·± Ŭ·¡½º°¡ Ç¥ÁØ Collection ¿¡ Ãß°¡µÉ ¶§ ¹®Á¦¸¦ ¹ß»ý½ÃŰ´Â ¿À·ÎÁö ¸Þ¼Òµå ÁßÀÇ Çϳª¸¸ÀÌ ¿À¹ö¶óÀÌµå µÈ Å¬·¡½ºÀÇ ¸ñ·ÏÀ» Æ÷ÇÔÇÏ´Â equals() & hashCode()  ÅÇÀ» Ç¥½ÃÇÕ´Ï´Ù.

 

°Ë»ç¿¡ ÀÇÇØ ¹ß°ßµÈ ¹®Á¦¸¦ À§ÇÑ ¾î¶² »çÀü Á¤ÀÇÀÇ ¼Ö·ç¼Çµµ ÀÖÁö ¾Ê½À´Ï´Ù.


ÀÌ °Ë»ç´Â ¾î¶² ¿É¼Çµµ °¡ÁöÁö ¾Ê½À´Ï´Ù.


 

»ç¿ë ¿¹



´ÙÀ½ Ŭ·¡½º¸¦ °üÂûÇϽʽÿÀ:

 

public class AClass {
    int aField_1;
    MyAdapter myAdapter;
 
    public boolean equals(Object o) {
        if (this == o)
            return true;
        if (!(o instanceof AClass))
            return false;
 
        final AClass aClass = (AClass) o;
 
        if (aField_1 != aClass.aField_1)
            return false;
        if (!myAdapter.equals(aClass.myAdapter))
            return false;
 
        return true;
    }
}
 

Inspection ÀÌ AClass ¿¡ Àû¿ëµÇ°í ³­ ÈÄ¿¡´ÙÀ½ÀÇ Åø À©µµ¿ì°¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.



Inspection Àº equals() ¸Þ¼Òµå°¡ AClass ¿¡¼­ ¾î¶² ÀÏÄ¡Çϰí ÀÖ´Â hashCode()µµ °¡ÁöÁö ¾Ê´Â °ÍÀ» ´ç½Å¿¡°Ô ¾Ë¸³´Ï´Ù.