>Java >Java베이스 >Java에서 같음과 ==의 차이점

Java에서 같음과 ==의 차이점

angryTom
angryTom원래의
2019-11-11 15:18:514469검색

Java에서 같음과 ==의 차이점

Java에서 같음과 ==의 차이점

" ==” 비교되는 것은 두 참조가 메모리의 동일한 객체(즉, 동일한 메모리 공간)를 가리키는지, 즉 메모리 공간의 저장 위치가 일치하는지 여부입니다.

equals, 일반적으로 사용되는 것은 객체의 내용이 동일한지 여부입니다.

equals 메소드는 Object 클래스에서 제공되며 하위 클래스에서 다시 작성할 수 있습니다(권장 튜토리얼: #🎜 🎜 #java tutorial)

public boolean equals(Object obj) {
    return (this == obj);
}

기본 구현은 객체가 자체와 비교될 때만 true를 반환합니다. 이는 현재 "=="와 같습니다.

Java의 많은 클래스(String 클래스, Date 클래스, File 클래스) 등은 일반적인 String 클래스를 예로 들어 다시 작성했습니다.

public class Test {
    public static void main(String[] args) {
        String num1= "abc";
        String num2= "abc";
        System.out.println(num1==num2);//true
 
        String num3 = new String("abc");
        String num4= new String ("abc");
        System.out.println(num3==mnum4);//false
        System.out.println(num3.equals(num4));//true
    }
}

Java 언어의 equals 메소드는 실제로 개발자가 재정의할 수 있도록 남겨져 있으며 이를 통해 개발자는 충족하는 두 객체가 동일한 조건을 정의할 수 있습니다.

equals 메소드는 "=="와 완전히 동일하지만 "=="의 경우에는 equals 메소드를 다시 작성할 수 있음을 의미합니다. 값이 동일한지, 참조 유형이면 객체 주소가 동일한지 판단됩니다.

위 내용은 Java에서 같음과 ==의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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