특징
- StringBuffer 클래스의 인스턴스는 그 값을 변경할 수도 있고, 추가할 수도 있다.
- StringBuffer 클래스는 내부적으로 버퍼(buffer)라고 하는 독립적인 공간을 가진다.
- 버퍼 크기의 기본값은 16개의 문자를 저장할 수 있는 크기이며, 생성자를 통해 그 크기를 별도로 설정할 수도 있다.
- 인스턴스 생성 시 사용자가 설정한 크기보다 언제나 16개의 문자를 더 저장할 수 있도록 여유 있는 크기로 생성된다.
- StringBuffer 인스턴스를 사용하면 문자열을 바로 추가할 수 있으므로, 공간의 낭비도 없으며 속도도 매우 빨라진다.
- 메소드를 실행하면 원본 문자열도 변경된다.
append(Strings) 메소드
- 인수로 전달된 값을 문자열로 변환한 후, 해당 문자열의 마지막에 추가한다.
- String 클래스의 concat() 메소드와 같은 결과를 반환하지만 내부적인 처리 속도가 훨씬 빠르다.
- 사용 예시
capacity() 메소드
- StringBuffer 인스턴스의 현재 버퍼 크기를 반환한다.
- 사용 예시
delete(String s) 메소드
- 전달된 인덱스에 해당하는 부분 문자열을 해당 문자열에서 제거한다.
- 특정 위치의 문자 한 개만을 제거하고 싶을 때는 deleteCharAt() 메소드를 사용하면 된다.
- 사용 예시
insert(int offset, String s) 메소드
- 인수로 전달된 값을 문자열로 변환한 후 해당 문자열의 지정된 인덱스 위치에 추가한다.
- 전달된 인덱스가 해당 문자열의 길이와 같으면 append() 메소드와 같은 결과를 반환한다.
- 사용 예시
reverse()