StringBuffer 클래스
StringBuffer의 생성과 특징
StringBuffer 클래스도 java.lang 패키지에 포함되어 있으며, String 클래스와 같이 문자열을 다룹니다. String 객체의 경우 내부의 문자열을 수행할 수 없지만, StringBuffer 객체는 문자열을 저장하는 가변 버퍼를 가지고 있기 때문에 지정된 문자열의 수정이 가능합니다. 문자열의 크기가 늘어나면 내부 버퍼 크기를 자동 조절합니다.
StringBuffer sb = new StringBuffer("Java");
| 생성자 | 설명 |
| StringBuffer() | 초기 버퍼의 크기가 16인 스트링 버퍼 객체 생성 |
| StringBuffer(charSequence seq) | seq가 지정하는 일련의 문자들을 포함하는 스트림 버퍼 생성 |
| StringBuffer(int capacity) | 지정된 초기 크기를 갖는 스트링 버퍼 객체 생성 |
| StringBuffer(String str) | .지정된 스트림으로 초기화된 스트링 버퍼 객체 생성 |
StringBuffer의 활용
StringBuffer 클래스는 문자열에 대한 다양한 조작을 보여줄 수 있는 메소드를 제공합니다. StringBuffer 내에 문자열을 저장하는 버퍼의 크기가 자동으로 조절합니다.
| 메소드 | 설명 |
| StringBugger append(String str) | str 스트림은 스트링 버퍼에 덧붙입니다. |
| StringBuffer append(StringBuffer sb) | str 스르림 버퍼를 현재의 스트링 버퍼에 덧붙입니다. 이 결과 현재 스트링 버퍼의 내용이 변합니다. |
| int capacity() | 스트링 버처의 현재 크기 리턴 |
| StringBuffer delete(int start, int end) | start 위치에서 end 위치 앞까지 부분 문자열 삭제 |
| StringBuffer insert(int offset, String str) | str 스트링을 스트링 버퍼의 offset 위치에 삽입 |
| StrintBuffer relpace(int start, int end, String str) | 스트링 버퍼 내의 start 위치의 문자부터 end가 지정하는 문자 앞의 서버 스트링을 str로 대치 |
| StringBuffer reverse() | 스트링 버퍼 내의 문자들을 반대 순서로 변경 |
| void setLength(int newLength) | 스트링 버퍼 내의 문자열 길이를 newLength로 재설정. 현재 길이보다 큰 경우 널 문자(' ')로 채우며 작은 경우는 기존 문자열이 잘린다. |

StringBuffer 클래스 메소드 활용
public class StringBufferEx {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("This");
sb.append(" is pencil"); // 문자열 덧붙이기
System.out.println(sb);
sb.insert(7, " my"); // "my" 문자열 삽입
System.out.println(sb);
sb.replace(8, 10, "your"); // "my"를 "your"로 변경
System.out.println(sb);
sb.delete(8, 13); // "your " 삭제
System.out.println(sb);
sb.setLength(4); // 스트링 버퍼 내 문자열 깊이 수정
System.out.println(sb);
}
}
실행 결과
This is pencil
This is my pencil
This is your pencil
This is pencil
This
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
| Math 클래스 (0) | 2025.03.18 |
|---|---|
| StringTokenizer 클래스 (0) | 2025.03.14 |
| String 클래스 (0) | 2025.03.11 |
| Wrapper 클래스 (0) | 2025.03.09 |
| Object 클래스 (0) | 2025.03.06 |