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(문자열변수);] : 문자열을 확인하는 명령어