상세 컨텐츠

본문 제목

[Java] 변수와 자료형_3(문자열string 비교 equals, ==)

Java/제로베이스

by Gopythor 2023. 1. 2. 00:14

본문

728x90
반응형
//같은 값 선언으로 s3=s4 주소값 같음
String s3 = "Hi";
String s4 = "Hi";

//단순 선언으로 주소값이나 문자 값이나 일치
System.out.println(s3.equals(s4));	//true
System.out.println(s3 == s4);		//true

//new로 선언되어 새로운 주소(공간)을 할당
String s5 = new String("Hi");
System.out.println(s3.equals(s5));	//true
System.out.println(s3 == s5);		//false

문자열을 비교시에는 ==보다는 equals를 사용해야 한다.

왜냐하면 일반적으로 같은 문자를 선언하면, 메모리 값을 절약하기 위해 기존 값을 참조하여 가져오게 된다.

==는 주소를 기반으로 비교를 한다.

new 키워드를 사용하게 되면 문자값은 동일하지만 주소값이 달라 false를 반환하게 된다.

 

 

728x90
반응형

관련글 더보기

댓글 영역