StringBuilder() 함수

현굥·2024년 7월 29일

Java

목록 보기
1/8

StringBuilder() 함수

  • 자바에서 문자열을 효율적으로 처리하기 위해 제공하는 클래스

  • 문자열을 조작할 때, 문자열의 길이를 유연하게 조절하고, 다양한 문자열 연산을 빠르게 수행할 수 있도록 설계됨

  • StringBuilder 객체는 내부 버퍼의 크기를 자동으로 조절하면서 문자열을 수정할 수 있습니다. 따라서 문자열에 대해 추가, 삭제, 수정 작업이 빈번하게 일어날 때 StringBuilder를 사용하는 것이 효율적입니다.

  • StringBuilder는 String보다 빠른 문자열 조작 성능을 제공합니다. String은 불변(immutable)이기 때문에 문자열이 변경될 때마다 새로운 객체가 생성됩니다. 반면, StringBuilder는 내부 버퍼를 사용하여 문자열을 직접 수정하므로, 메모리 사용과 속도 면에서 더 효율적입니다.

  • StringBuilder는 동기화되지 않은(비동기적) 클래스입니다. 따라서 멀티스레드 환경에서 안전하지 않지만, 단일 스레드에서 사용하기에는 적합합니다. 동기화가 필요한 경우 StringBuffer를 사용해야 합니다.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Hello");
        
        sb.append(" World"); // "Hello World"
        sb.insert(5, ",");   // "Hello, World"
        sb.replace(6, 12, "Java"); // "Hello, Java"
        sb.delete(5, 6);     // "HelloJava"
        sb.reverse();        // "avaJolleH"
        
        String result = sb.toString(); // "avaJolleH"
        System.out.println(result);
    }
}

0개의 댓글