IT/JAVA

[JAVA] 문자열의 비교

o_zeew 2024. 2. 23. 11:22

24.02.23 8일차

문자열의 비교

 

*메모리 어딘가에 문자를 저장할 수 있는 공간을 따로 생성이 된다

[기본형]

String a="가나다"

String b="라마바"

 > a에는 "가나다"가 저장되는 것이 아닌 메모리 어딘가에 저장된 "가나다"의 주소가 저장된다

a="가나다"

b="가나다"

a==b

  > 이것은 실제로는 a와 b가 "가나다" 인것인지를 비교하는 것이 아니라 "가나다"가 들어있는 주소인 오리역인지를 묻는 것이다 (a=오리역, b=오리역)

 

[참조형]

String c=new String("abc")

String d=new String("123")

String c=new String("abc")

String d=new String("abc")

c==d

 * d를 새롭게 abc로 정의하면 문자열이기 때문에 메모리를 참고하지 않고 새로운 것이 만들어진다

 > 따라서 c와 d는 같지 않다 (c=모란역, d=야탑역)

 

 

* [(문자열변수).equals(문자열변수);] : 문자열을 확인하는 명령어