>Java >java지도 시간 >자바에서 같음은 무엇을 의미합니까?

자바에서 같음은 무엇을 의미합니까?

下次还敢
下次还敢원래의
2024-05-09 06:21:18973검색

equal() 메서드는 Java에서 두 객체의 동등성을 비교하는 데 사용됩니다. 이 메소드는 동일한지 여부를 나타내는 부울 값을 반환합니다. equal() 메소드는 객체 참조, 유형 및 하위 클래스에 대한 위임을 확인하여 비교를 수행합니다. 사용자 정의 클래스의 경우 반사성, 대칭, 전이성 및 일관성 원칙에 따라 equal() 메서드를 재정의하여 비교 규칙을 사용자 정의할 수 있습니다.

자바에서 같음은 무엇을 의미합니까?

Java에서 equal() 메소드의 역할

Java에서 equal() 메소드는 두 객체가 같은지 비교하는 데 사용되는 Object 클래스의 핵심 메소드입니다. 이 메서드는 두 개체가 동일한지 여부를 나타내는 부울 값을 반환합니다.

콘크리트 구현

equal() 메서드는 다음 단계를 통해 두 객체를 비교합니다.

  1. 객체 참조 확인: 두 객체 참조가 동일한 객체를 가리키면 두 객체는 ​​같습니다.
  2. 객체 유형 확인: 두 객체의 유형이 동일하지 않으면 동일하지 않습니다.
  3. 하위 클래스에 위임: 두 개체의 유형이 동일한 경우 이 메서드는 추가 비교를 위해 하위 클래스에 위임합니다.

equal() 메서드 재정의

사용자 정의 클래스의 경우 equal() 메서드를 재정의하여 비교 규칙을 사용자 정의할 수 있습니다. 재정의된 equal() 메서드는 다음 원칙을 따라야 합니다:

  • Reflexivity: x.equals(x)는 null이 아닌 참조 값 x에 대해 true를 반환해야 합니다.
  • Symmetry: null이 아닌 참조 값 x 및 y의 경우 x.equals(y)인 경우 y.equals(x)도 true를 반환해야 합니다.
  • Transitivity: null이 아닌 참조 값 x, y 및 z에 대해 x.equals(y)가 true이고 y.equals(z)가 true이면 x.equals(z)도 반환해야 합니다. 진실 .
  • 일관성: null이 아닌 참조 값 x 및 y의 경우 hashCode() 메서드가 여러 번 호출되면 x.equals(y)의 결과가 일관되어야 합니다.

Example

다음은 equal() 메소드를 재정의하는 사용자 정의 클래스의 예입니다.

<code class="java">class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Person) {
            Person other = (Person) obj;
            return this.name.equals(other.name) && this.age == other.age;
        }
        return false;
    }
}</code>

이 예에서 equal() 메소드는 두 Person 객체의 name 및 age 필드를 비교하여 동등성을 결정합니다. .

위 내용은 자바에서 같음은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.