equals와 == 비교
1. 우선 equals는 메소드, ==는 연산자이다.
2. 반환형
equals는 return형이 boolean
true if the given object represents a String equivalent to this string, false otherwise
같으면 true 다르면 false
| boolean | equals(Object anObject)
Compares this string to the specified object. |
== 도 반환형은 boolean이다
3. (geeksForgeeks 참조)
Use == operators for reference comparison (address comparison) and .equals() method for content comparison
equals는 컨텐츠비교, ==는 주소 비교
결국 Call By Value / Call By Reference 호출 방법의 차이
가장 많이들 쓰는 예제
String v1 = "a"
String v2 = v1
String v3 = new String("a");
이 경우 v2는 v1을 가리켜 같은 주소를 할당
v3는 새로 선언, 메모리에 할당되어 다른 주소를 갖는다
== 으로 비교
v1 == v2 true
v1 == v3 false
v2 == v3 false
equals 로 비교
v1.equals(v2) true
v1.equals(v3) true
v2.equals(v3) true
'PROGRAMMING > JAVA' 카테고리의 다른 글
| [JAVA] 출력시 소수점 자리 고정 후 0으로 채우기 (0) | 2021.04.14 |
|---|---|
| [JAVA] GC(Garbage Collection) 이란? (2/2) (0) | 2021.04.12 |
| [JAVA] GC(Garbage Collection) 이란? (1/2) (0) | 2021.04.04 |
| [JAVA] 자바/JVM 메모리 구조 (0) | 2021.04.03 |
| [JAVA] JDK 설치 및 환경변수 설정 (0) | 2021.02.16 |