>Java >Java시작하기 >Java에서 '==' 연산자와 equals 메소드의 차이점은 무엇입니까?

Java에서 '==' 연산자와 equals 메소드의 차이점은 무엇입니까?

王林
王林앞으로
2020-07-04 16:37:302692검색

Java에서 '==' 연산자와 equals 메소드의 차이점은 무엇입니까?

차이점은 다음과 같습니다.

(추천 학습: java 입문 프로그램)

== 연산자는 두 변수의 값이 같은지, 즉 동일한지 비교하기 위해 특별히 사용됩니다. 변수에 해당하는 메모리에 저장된 값을 비교하는 데 사용됩니다. 값이 동일한지, 두 가지 기본 유형의 데이터를 비교하려면 또는 두 참조 변수가 동일한지 여부를 비교하려면 == 연산자만 사용할 수 있습니다. .

equals 메서드는 두 책이 동일한지 비교하는 것과 마찬가지로 두 개의 독립된 개체의 내용이 동일한지 비교하는 데 사용됩니다.

예:

String a = new String("AA");
String b = new String("AA");
System.out.println(a==b);
System.out.println(a.equals(b));

두 개의 새로운 문은 두 개의 객체를 생성한 다음 두 개의 변수 a와 b를 사용하여 각각 객체 중 하나를 가리키며, 첫 번째 주소는 다릅니다. a와 b에 저장된 값이 다르므로 a==b 표현식은 false를 반환하고 두 객체의 내용은 동일하므로 a, equals(b)는 true를 반환합니다.

(동영상 튜토리얼 추천: java 동영상 튜토리얼)

참고: 문자열 비교는 기본적으로 equals 메서드를 사용합니다.

클래스에 자체 정의된 equals 메서드가 없는 경우 Object 클래스의 equals 메서드가 상속됩니다. Object 클래스의 구현 코드는 다음과 같습니다.

boolean equals(Object o)
{
return this==o;
}

이는 클래스에 자신이 정의한 equals 메소드의 기본값은 == 연산자를 사용하는 것과 동일합니다. 즉, 두 변수가 가리키는 객체를 비교하여 동일한 객체인지 확인합니다. 이때는 같음과 ==를 사용하세요.

같은 결과를 얻을 것입니다! ! 두 인스턴스 객체의 내용이 동일한지 비교할 수 있는 클래스를 작성하려면 equals 메서드를 재정의해야 합니다!

위 내용은 Java에서 '==' 연산자와 equals 메소드의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제