Java

[Java] StringBuffer 클래스란?

gamzaggang7 2024. 3. 3. 13:31
728x90

StringBuffer 클래스

StirngBuffer 클래스는 String 클래스와 같이 문자열을 다루며, java.lang 패키지에 포함되어 있다.

 

 

StringBuffer와 String

String 객체의 경우 내부의 문자열을 수정할 수 없다. 하지만 StringBuffer 객체는 문자열을 저장하는 가변 버퍼를 가지고 있어 저장된 문자열의 수정이 가능하다. 문자열의 크기가 늘어나면 내부 버퍼 크기를 자동 조절한다. 

따라서 간단한 문자열을 처리하는 것은 Stirng 클래스를 이용하고, 문자열의 길이가 길거나 문자열이 수시로 변하는 경우 StringBuffer 클래스를 이용하는 것이 적합하다.

 

728x90

 

StringBuffer 클래스 생성자

StirngBuffer() 초기 버퍼의 크기가 16인 스트링 버퍼 객체 생성
StirngBuffer(charSequence seq) seq가 지정하는 일련의 문자들을 포함하는 스트링 버퍼 생성
StirngBuffer(int capacity) 지정된 초기 크기를 갖는 스트링 버퍼 객체 생성
StirngBuffer(String str) 지정된 스트링으로 초기화된 스트링 버퍼 객체 생성

 

생성 예)

StringBuilder sb = new StringBuilder("java");

 

 

StringBuffer 메소드

StringBuffer 클래스는 문자열에 대한 다양한 조작을 할 수 있는 메소드들을 제공하며 메소드의 사용에 따라 문자열을 저장하는  버퍼의 크기가 자동으로 조절된다.

StringBuffer append(String str) str 스트링을 스트링 버퍼에 덧붙인다.
StringBuffer append(StringBuffer sb) sb 스트링 버퍼를 현재의 스트링 버퍼에 덧붙인다.
int capacity() 스트링 버퍼의 현재 크기를 리턴한다.
StringBuffer delete(int start, int end) start 위치에서 end 위치 앞까지 부분 문자열을 삭제한다.
StringBuffer insert(int offset, String str) str 스트링을 스트링 버퍼의 offset 위치에 삽입한다.
StringBuffer replace(int start, int end, String str) 스트링 버퍼 내의 start 위치의 문자부터 end가 지정하는 문자 앞의 서브 스트링을 str로 대치한다.
StringBuffer reverse() 스트링 버퍼 내의 문자들을 반대 순서로 변경한다.
void setLength(int newLength) 스트링 버퍼 내 문자열 길이를 newLength로 재설정한다. 
현재 길이보다 큰 경우 널 문자('')로 채우며 작은 경우는 기존 문자열이 잘린다.

* 위치는 0부터 시작

 

 

사용 예)

https://gamzaggang7.tistory.com/75

 

[백준 자바] 2739번(구구단) | StringBuffer 클래스

난이도 - 브론즈 5 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나

gamzaggang7.tistory.com

 

728x90