String과 StringBuilder의 구분
String 클래스와 StringBuilder는 용도가 다르다.
String | StringBuilder |
문자를 이용해서 활용을 해야 할 때 사용하는 클래스. 문자를 변경, 검색, 반복, 대소문자 변환, 비교, 분리 "문자 특성"을 이용하기 위해 사용하는 클래스 |
문자열을 배열처럼 관리 추가, 삭제, 삽입, 뒤집기 등을 용이하게 하기 위해 사용 "배열 index"를 이용하여 문자를 관리하는 클래스 |
문자 특성을 이용한 작업을 처리할 때 | 변경이 빈번한 문자들을 배열처럼 관리하고 싶을 때 |
String 클래스는 함수를 사용하면 반환 값을 사용해야 하므로 대입 연산자를 이용해야 한다. ex) str = str.trim(); |
StringBuilder는 내부적으로 추가, 삭제, 삽입, 변경을 처리하기 때문에 반환 값을 사용할 필요가 없다. ex) sb.append(var); |
자주 사용하는 String과 StringBuilder의 공통 함수
- length() : 문자열의 총길이를 반환한다.
- charAt(index) : index 위치에 해당하는 문자를 반환한다.
- indexOf(String) : 문자열이 위치하는 index를 반환한다. (String에서는 char도 가능하다.)
- substring(from, to) : from부터 to까지 해당되는 문자열을 반환한다. (to index는 포함하지 않는다.)
자주 사용하는 String 클래스 함수
비교
- compareTo(String) : String과 비교 후 String보다 문자가 작다면 1, 크다면 -1, 같다면 0을 반환한다.
- compareToIgnoreCase(String) : 대소문자 차이를 무시하고 비교한다.
- equals(Object) : Object와 비교 후 같다면 true, 다르면 false를 반환한다. String 클래스는 문자열을 비교한다.
검색
- contains(CharSequence) : CharSequence가 포함되어있는지 확인한 후 포함하면 true, 포함하지 않으면 false를 반환한다.
- startWith(String) : String으로 시작하면 true, 아니면 false를 반환한다.
- endWith(String) : String으로 끝나면 true, 아니면 false를 반환한다.
변환
- concat(String) : String과 합친 후 합친 문자열을 반환한다.
- repeat(int count) : count만큼 반복 후 반환한다.
- replace(char or CharSequence, char or CharSequence) : char, CahrSequence 둘 다 가능하며 앞 인자를 뒷 인자로 변경한다.
- toLowerCase() : 소문자로 변환 후 반환한다.
- toUpperCase() : 대문자로 변환 후 반환한다.
- trim() : 문자열의 양쪽 공백을 제거 후 반환한다.
- toCharArray() : char 배열 자료형으로 반환한다.
분리, 결합
- split(String regex) : regex를 기준으로 자른 후 String []로 반환한다.
- String.join("str" ,String[]) : str을 사이에 넣어주며 String [] 배열을 합친다.
* CharSequence => String, StringBuilder, StringBuffer 등
자주 사용하는 StringBuilder 클래스 함수
추가
- append() : StringBuilder에 추가한다.
삭제
- delete(from, to) : from부터 to까지 해당되는 index들을 제거한다. (to는 제외)
- deleteCharAt(index) : index에 해당하는 문자 하나를 제거한다.
삽입
- insert(index, Object) : index위치에 Object를 추가한다.
변경
- replace(from, to, String) : from, to 부분을 String으로 변경한다. (to는 제외)
- setLength(len) : len만큼 길이를 변경한다. (len을 0으로 설정하면 내부가 비워지는 효과를 볼 수 있다.)
- setChar(index, char) : 해당 index를 char로 변경한다.
- reverse() : 문자열을 뒤집는다.
주의: StringBuilder는 equals()가 주소 비교를 한다. toString()을 해야 한다.
'Coding > Java' 카테고리의 다른 글
[13] JAVA String 클래스 메소드 정리 (0) | 2022.11.23 |
---|---|
[12] JAVA 예외처리 (0) | 2022.11.23 |
[10] JAVA - 필드(Field) (0) | 2022.11.22 |
[09] Java 클래스 - 객체 지향 프로그래밍 (2) | 2022.11.22 |
[08] Java 열거 타입 (0) | 2022.11.12 |