Objects.equals()
: 객체의 주소를 비교
즉, 같은 값을 가진 객체라고 하더라도 따로 생성되었다면 False.
//객체 비교시 !!
public class Main{
public static void main(String args[]){
Name name1 = new Name("Ellen");
Name name2 = new Name("Ellen");
Name name3 = name1;
System.out.println(name1.equals(name2)); // False
System.out.println(name1.equals(name1)); // True
}
다같은 이름으로 보이는데 False가 나옴 => 따로 생성되어 주소값이 다르기 때문!
<String 비교>
String aa = "cc";
String bb = "cc";
System.out.println(aa.equals(bb));
//결과 true
String 비교시 equals는 오버라이드 됨! (즉, object equals와는 다르다!)
그러므로 주소값이 아니라 파라미터를 확인하여 출력해줌!
객체비교와 string 비교와 헷갈릴것같다
'☕JAVA > 🔎 공부 [JAVA]' 카테고리의 다른 글
[JAVA] Map, HashMap (0) | 2022.08.24 |
---|---|
[JAVA] 기초 - 다시 정리하는 기본 개념 (0) | 2022.08.18 |
[JAVA] 예외처리(Exception) / Throws (0) | 2022.08.13 |
[JAVA] 내부클래스 (0) | 2022.08.12 |
[JAVA] 인터페이스 (0) | 2022.08.12 |