PHpullh
학습 라이브러리/Java/StringBuilder와 StringBuffer

JAVA · 기초 문법

StringBuilder와 StringBuffer

가변 문자열 StringBuilder와 스레드 안전한 StringBuffer의 사용법입니다.

기초 문법입문StringBuilderStringBuffer가변문자열성능

핵심 설명

가변 문자열 StringBuilder와 스레드 안전한 StringBuffer의 사용법입니다.

Java code

public class StringBuilderDemo {
    public static void main(String[] args) {
        // StringBuilder — 단일 스레드에서 사용
        StringBuilder sb = new StringBuilder();
        sb.append("Hello");
        sb.append(", ");
        sb.append("World!");
        System.out.println(sb.toString());

        // 메서드 체이닝
        String result = new StringBuilder()
            .append("Java ")
            .append(21)
            .append(" is ")
            .append("awesome")
            .toString();
        System.out.println(result);

        // 삽입, 삭제, 뒤집기
        StringBuilder edit = new StringBuilder("ABCDE");
        edit.insert(2, "XY");  // "ABXYCDE"
        edit.delete(0, 2);     // "XYCDE"
        edit.reverse();        // "EDCYX"
        System.out.println(edit);

        // 용량 관리
        StringBuilder sized = new StringBuilder(100);
        System.out.println(sized.capacity()); // 100
    }
}

학습 팁

반복문에서 문자열을 이어붙일 때는 StringBuilder를 사용하세요. 초기 용량을 예측해서 지정하면 재할당을 줄일 수 있습니다.

주의할 점

StringBuffersynchronized라 느립니다. 멀티스레드가 아니면 항상 StringBuilder를 쓰세요.

자주 묻는 질문

StringBuilder와 StringBuffer란 무엇인가요?

가변 문자열 StringBuilder 와 스레드 안전한 StringBuffer 의 사용법입니다.

StringBuilder와 StringBuffer 학습 시 주의할 점은 무엇인가요?

StringBuffer 는 synchronized 라 느립니다. 멀티스레드가 아니면 항상 StringBuilder 를 쓰세요.