Java의 객체 동등성 이해
Java에서 두 객체의 동등성을 비교하기 위해 종종 equals 메소드를 사용합니다. 설명된 시나리오의 목표는 People 객체 간의 비교를 용이하게 하기 위해 이름 및 나이 필드가 있는 People 클래스의 equals 메서드를 재정의하는 것입니다.
제시된 초기 구현에서는 age 필드에 대해 equals 메서드를 사용했습니다. 정수 유형입니다. 그러나 지적한 대로 equals 메소드는 문자열 객체를 비교하기 위해 특별히 설계되었습니다.
해결책: 정수 필드 비교
정수 필드를 비교하려면 다음을 사용하는 것이 좋습니다. == 연산자 대신 == 메소드를 사용하세요. == 연산자는 equals 메소드를 호출하는 대신 기본 데이터 유형의 값을 직접 비교합니다.
Equals 올바르게 구현
Equals 메소드의 올바른 구현 People 클래스는 다음과 같아야 합니다:
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final People other = (People) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
여기서 구현:
위 내용은 Java에서 객체 비교를 위해 'equals' 메서드를 올바르게 재정의하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!