이 글에서는 자바(Java)에서 StringBuffer 객체를 비우는(초기화하는) 방법을 알아봅니다.
StringBuffer는 String 클래스가 제공하는 기능 대부분을 함께 제공하는 동료 클래스입니다. 다만 String이 고정 길이의 불변(immutable) 문자 시퀀스를 나타내는 것과 달리, StringBuffer는 크기가 늘어날 수 있고 값도 수정할 수 있는 가변 문자 시퀀스를 다룹니다.
예제 개요
아래는 실제 동작 결과를 보여주는 예시입니다.
입력값 −
This string buffer is defined as: Java Program
기대 출력 결과 −
The string buffer after clearing:
알고리즘
Step 1 - START Step 2 - StringBuffer 객체(string_buffer)를 선언한다. Step 3 - 값을 정의한다. Step 4 - 내장 함수 .delete()를 호출하고 인덱스 0과 버퍼 크기를 전달하여 버퍼를 비운다. Step 5 - 결과를 출력한다. Step 6 - 종료(STOP)
방법 1: delete() 함수 사용
첫 번째 방법은 delete() 함수를 이용하는 것입니다. 시작 인덱스 0부터 버퍼 전체 길이(length())까지 삭제하면 버퍼의 모든 내용이 제거됩니다.
public class Buffer {
public static void main(String[] args) {
StringBuffer string_buffer = new StringBuffer();
string_buffer.append("Java");
string_buffer.append(" Program");
System.out.println("This string buffer is defined as: " + string_buffer);
string_buffer.delete(0, string_buffer.length());
System.out.println("The string buffer after clearing: " + string_buffer);
}
}실행 결과
This string buffer is defined as: Java Program The string buffer after clearing:
방법 2: setLength() 함수 사용
두 번째 방법은 setLength() 함수를 이용하는 것입니다. 길이를 0으로 설정하면 버퍼의 모든 문자가 잘려나가며 내용이 비워집니다.
public class Buffer {
public static void main(String[] args) {
StringBuffer string_buffer = new StringBuffer();
string_buffer.append("Java");
string_buffer.append(" Program");
System.out.println("This string buffer is defined as: " + string_buffer);
string_buffer.setLength(0);
System.out.println("The string buffer after clearing: " + string_buffer);
}
}실행 결과
This string buffer is defined as: Java Program The string buffer after clearing:
정리
두 방법 모두 StringBuffer의 내용을 완전히 비우는 데 효과적입니다. delete(0, length())는 특정 범위만 삭제할 때 유연하게 활용할 수 있고, setLength(0)은 코드가 간결하여 버퍼 전체를 한 번에 초기화할 때 널리 사용됩니다. 상황에 맞게 선택하여 사용하면 됩니다.