Java: StringBuilder의 주요 메서드


1. StringBuilder의 인스턴스 메서드

1.1 개요

StringBuilder 클래스는 가변 문자열 처리를 위해 설계된 클래스이다. 모든 메서드는 StringBuilder 객체 자체를 수정하며, 새로운 객체를 생성하지 않는다. 이는 String과의 가장 큰 차이점이다.

StringBuilder sb = new StringBuilder("hello");
sb.append(" world");  // 같은 객체 내에서 문자열을 수정

1.2 주요 메서드 + 내부 동작

모든 메서드는 시간복잡도가 평균적으로 O(1) 또는 **O(n)**이며, 대부분 String보다 빠름.
대부분 메서드가 return this를 통해 메서드 체이닝을 지원한다.


🔹 append(String str)


🔹 insert(int offset, String str)


🔹 delete(int start, int end)


🔹 deleteCharAt(int index)


🔹 replace(int start, int end, String str)


🔹 reverse()


🔹 toString()


🔹 setCharAt(int index, char c)


🔹 charAt(int index)


🔹 length()


🔹 capacity()


🔹 ensureCapacity(int minimumCapacity)


2. 메서드 체이닝 예시

StringBuilder sb = new StringBuilder();
String result = sb.append("Hi")
                  .append(" ")
                  .append("there")
                  .replace(0, 2, "Bye")
                  .reverse()
                  .toString();

System.out.println(result);  // "ereht eyB"

3. 주의 사항

주의 포인트

설명

null

값 전달

append(null)

은 문자열

"null"

로 처리됨

✅ 내부 수정

객체 내부 수정 → 참조가 유지됨

❌ 멀티스레드 비안전

멀티스레드 환경에서는

StringBuffer

사용


✅ 마무리 요약

메서드

설명

append()

문자열 끝에 추가

insert()

중간에 삽입

delete()

구간 삭제

replace()

문자열 교체

reverse()

문자열 뒤집기

charAt()

문자 추출

setCharAt()

문자 수정

toString()

최종 문자열 반환

capacity()

내부 버퍼 용량 확인

ensureCapacity()

버퍼 미리 확장






Revision #2
Created 20 May 2025 04:53:09 by Dain
Updated 20 May 2025 06:26:28 by Dain