String 개념

String문자는 ""를 사용해 만들어진다.



위처럼 text란 String을 만들게되면 문자란 값을 상수저장소(Constant pool)에 저장한다.


동일한 "문자" 라는 문자열을 생성할경우


위에 말했듯이 String text를 생성할때 상수저장소에 저장하게되는데

text2가 만들어질때 상수저장소를 확인하고 "문자"가 있을경우 그 참조한 값을 반환한다.

text,text2 참조값은 같다.

그러므로 text와 text2는 같다.


상수저장소란?

- String객체를 저장하는 메모리 구역이다.


즉, 문자열이 이미 존재하면 새로운 객체를 생성하지않고

기존객체를 사용하여 효율적이게된다.


위처럼 new String으로 문자열 생성시 상수저장소에 저장하지않고

일반 힙 메모리에 String객체를 생성한다.

text와 text2의 참조값이 다르다.

text==text2는 될수 없다.


String 비교방법

1.equals() 메소드

2.단순 == 비교

3.compareTo() 메소드


equals() 메소드

equals와 equalsIgnoreCase 있다.


equals이란?

문자열의 내용을 비교하는 것이다.



equalsIgnoreCase이란?

문자열의 특징을 무시하고 비교하는 것(쉽게말해 소문자,대문자)이다.



단순 == 비교

위에 String 개념에서 설명한다.


compareTo() 메소드

문자열 길이를 비교해 정수를 반환해준다.

같다면 0

크다면 1

작다면 -1





+ Recent posts