StringBuilder하면 항상 같이 다니는 친구들이 있는데, 바로 String과 StringBuffer이다.
String, StringBuilder, StringBuffer 모두 문자열을 저장하고 관리하는 클래스이다.
그 중 String은 immutable(불변)이고, StringBuilder와 StringBuffer는 mutable(가변)이다.
종종 String에서 concat이나 '+' 를 이용해 값을 만드는 데, 이는 기존 값을 버리고 새로 할당하는 방식이다. 따라서, String에서 concat이나 '+'를 1000번 이상 사용하게 되면 속도가 매우 느려지게 된다.
StringBuilder와 StringBuffer는 가변이므로, 메서드를 통해 값을 변경할 수 있다.
StringBuffer는 공통 메서드가 동기화되므로 멀티 쓰레드 환경에서는 StringBuffer를 사용하는 것이 안전하고, 그 외에는 성능이 뛰어난 StringBuilder를 사용하는 것이 좋다.
1. append(값)
StringBuffer, StringBuilder 뒤에 값을 붙인다
2. insert(인덱스, 값)
특정 인덱스부터 값을 삽입한다
3. delete(인덱스, 인덱스)
특정 인덱스부터 인덱스까지 값을 삭제한다
4. indexOf(값)
값이 어느 인덱스에 들어있는지 확인한다
5. substring(인덱스, 인덱스)
인덱스부터 인덱스까지 값을 잘라온다
6. length()
길이 확인
7. replace(인덱스, 인덱스, 값)
인덱스부터 인덱스까지 값으로 변경
8. reverse()
글자 순서를 뒤집는다