String은 불변(immutable)객체라고 한다. String str1 = "abc";, String str2 = "def" 2개의 String객체가 있을 때, str1+str2와 같은 연산을 하게되면 새로운 String을 생성한다.
String객체와 String객체를 더하는 행위는 메모리 할당과 메모리 해제를 발생시키며 더하는 연산이 많아진다면 성능적으로 좋지 않다.
그래서 나온 것이 StringBuilder이다.
StringBuilder는 String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도도 빠르며 부하가 적다.
따라서 긴 문자열을 더하거나 더하는 상황이 반복되는 경우에 StringBuilder를 사용하면 좋다.
StringBuilder sb = new StringBuilder(); sb.append("ABC"); sb.append("DEF"); System.out.println(sb.toString());
sb.append(값)
- StringBuffer, StringBuilder 뒤에 값을 붙인다
sb.insert(인덱스, 값)
- 특정 인덱스부터 값을 삽입한다
sb.delete(인덱스, 인덱스)
- 특정 인덱스부터 인덱스까지 값을 삭제한다
sb.indexOf(값)
- 값이 어느 인덱스에 들어있는지 확인한다
sb.substring(인덱스, 인덱스)
- 인덱스부터 인덱스까지 값을 잘라온다
sb.length()
- 길이 확인
sb.replace(인덱스, 인덱스, 값)
- 인덱스부터 인덱스까지 값으로 변경
sb.reverse()
- 글자 순서를 뒤집는다
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.