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() 가지지 않는 것을 당신에게 알립니다.