What issues should be considered when overriding equals and hashCode in Java? 포스트에서 getClass를 사용하여 Java에서 적절한 평등 방법을 작성하는 방법에 대해 자세히 설명합니다.이 메소드는 우리가 동일시하는 두 객체의 RUntime 유형을 비교합니다. 나는 우리가 이렇게하는 이유는 B가 A를 확장한다면 a.equals (b) = b.equals (a) (반사성)을 원한다는 것을 이해하는 것이다.자바에서 getClass() 접근법을 오버라이드
제 생각에는 큰 한계가 있습니다. 오브젝트 A의 콜렉션을 가지고 있다면 A의 서브 클래스 인 B 오브젝트 몇 개를 삽입하면 a.equals (b)는 항상 거짓입니다 ... 아마도 특정 시간에 이전 instanceof
연산자를 사용하여 다형성과 하위 유형의 동등성을 허용합니까? 당신의 생각은 무엇입니까?
... 예. 당신이 말하는 것은 분명히 사실입니다. 뭐가 문제 야? –
나는 특별한 문제가 없다. 나는 한 가지 관행이 언제나 선호 될지 그리고 내가 중요한 점을 놓쳤는 지 궁금해했다. – Bober02