[java] 문자열 비교 ==과 equals()의 차이

1972 단어 JavaJava

비교 연산자(==)와 equals()의 차이

비교 연산자(==)는 주소값을 비교하는 연산자로 비교하고자 하는 두 대상의 주소값을 비교하지만,
equals()는 비교하고자 하는 두 대상의 값 자체를 비교한다.

String 변수 생성의 차이

리터럴

String str1 = "test";
String str2 = "test";

리터럴 방식은 메모리가 String Constant Pool이라는 영역에 할당,
하나의 메모리 영역에만 존재 str1, str2같은 문자열을 참조

new 연산자

String str3 = new String("test");
String str4 = new String("test");

new 연산자를 통해 문자열 객체를 생성하는 방식은 메모리가 heap이라는 영역에 할당
각각의 메모리 영역이 존재 str3, str4각각의 문자열을 참조

참조
1. [Java] 문자열 비교하기 == , equals() 의 차이점
2. 자바의 String 객체와 String 리터럴

좋은 웹페이지 즐겨찾기