티스토리 뷰
728x90
반응형
equals와 ==의 차이
- equals는 데이터 자체의 값을 비교하는 메서드입니다.
- ==는 데이터의 주소값을 비교해주는 비교 연산자입니다.
- Primitive 타입은 주소값이 같은지 비교를 하기때문에 ==을 사용합니다.
- Primitive 타입의 객체는 Constant Pool의 특정한 값을 참조하는 변수이기에 결국 Constant Pool내의 동일한 주소를 비교합니다.
public static void main(String[] args) {
String A = "Java"; // 주소값 : 1000
String B = "Java"; // 주소값 : 1000
String C = new String("Java"); // new 연산자 주소값 : 2000
String D = new String("Java"); // new 연산자 주소값 : 3000
// ==
System.out.println(A == B); // true
System.out.println(A == C); // false
System.out.println(C == D); // false
// equals
System.out.println(A.equals(B)); // true
System.out.println(A.equals(C)); // true
System.out.println(C.equals(D)); // true
}
- A변수와 B변수는 리터럴을 사용하여 String을 생성하면 String Constant Pool 영역에 존재하고 new 키워드를 사용하여 String을 생성하면 Heap영역에 생성됩니다.
- A와 B는 String Constant Pool 영역에 만들어진 하나의 객체를 참조하고 C와 D는 Heap영역에 생성된 각각의 객체를 참조하게 됩니다. 그래서 3개의 String 객체가 생성되게 됩니다.
728x90
반응형
'JAVA > JAVA기본' 카테고리의 다른 글
JAVA - LinkedList란? 그리고 구현 (0) | 2021.12.30 |
---|---|
JAVA - 조건문과 선택문 그리고 반복문 (0) | 2021.12.28 |
JAVA - hashCode의 의미 (1) | 2021.12.14 |
JAVA - (optional) Java 13, switch 연산자 (0) | 2021.12.14 |
JAVA - 연산자란? (0) | 2021.12.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- spring boot redisson sorted set
- 서비스 기반 아키텍처
- spring boot 엑셀 다운로드
- 트랜잭셔널 아웃박스 패턴 스프링부트
- redis sorted set
- spring boot excel download paging
- transactional outbox pattern
- spring boot excel download oom
- redis sorted set으로 대기열 구현
- pipe and filter architecture
- spring boot redisson destributed lock
- microkernel architecture
- 람다 표현식
- redis 대기열 구현
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- polling publisher spring boot
- 레이어드 아키텍처란
- 자바 백엔드 개발자 추천 도서
- spring boot redisson 분산락 구현
- java userThread와 DaemonThread
- @ControllerAdvice
- 공간 기반 아키텍처
- java ThreadLocal
- transactional outbox pattern spring boot
- spring boot redis 대기열 구현
- spring boot poi excel download
- pipeline architecture
- JDK Dynamic Proxy와 CGLIB의 차이
- service based architecture
- space based architecture
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함