[java] 문자열 비교 ==과 equals()의 차이
비교 연산자(==)와 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 리터럴
Author And Source
이 문제에 관하여([java] 문자열 비교 ==과 equals()의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@0_sujeong/java-문자열-비교-과-equals의-차이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)