[TIL-DAY17] Java 문법 정리 [StringBuilder]

김유란·2025년 1월 16일

1. StringBuilder 사용법

  • 가변(mutable) 문자열을 처리하기 위한 클래스
  • String 클래스와 달리 StringBuilder는 문자열을 수정할 때 새로운 객체를 생성하지 않고 기존 객체를 수정하여 효율적인 메모리 사용과 성능 향상을 제공
  • StringBuilder 생성
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder("Hello");
StringBuilder sb = new StringBuilder(50); // 초기 용량 50

2. StringBuilder 주요 메서드

  • append(String str)
    • 문자열을 StringBuilder의 끝에 추가
    • 원본 객체 수정
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
System.out.println(sb); // 출력: Hello World
  • insert(int offset, String str)
    • 지정된 위치에 문자열 삽입
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World");
System.out.println(sb); // 출력: Hello World
  • replace(int start, int end, String str)
    • 지정된 범위의 문자열을 새로운 문자열로 대체
StringBuilder sb = new StringBuilder("Hello World");
sb.replace(6, 11, "Java");
System.out.println(sb); // 출력: Hello Java
  • delete(int start, int end)
    • 지정된 범위의 문자열 삭제
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11);
System.out.println(sb); // 출력: Hello
  • reverse()
    • 문자열 뒤집음
StringBuilder sb = new StringBuilder("Hello");
sb.reverse();
System.out.println(sb); // 출력: olleH
  • charAt(int index)
    • 지정된 인덱스의 문자를 반환
StringBuilder sb = new StringBuilder("Hello");
char c = sb.charAt(1);
System.out.println(c); // 출력: e
  • setCharAt(int index, char ch)
    • 지정된 인덱스의 문자를 변경
StringBuilder sb = new StringBuilder("Hello");
sb.setCharAt(1, 'a');
System.out.println(sb); // 출력: Hallo
  • length()
    • 현재 문자열의 길이를 반환
StringBuilder sb = new StringBuilder("Hello");
System.out.println(sb.length()); // 출력: 5
  • substring(int start) / substring(int start, int end)
    • 지정된 범위의 문자열을 반환 (원본 StringBuilder 는 수정되지 않음)
StringBuilder sb = new StringBuilder("Hello World");
String sub = sb.substring(6, 11);
System.out.println(sub); // 출력: World

0개의 댓글