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