728x90

StringBuilder

  • StringBuilder는 문자열을 변경하거나 이어붙이는 경우 추가 메모리 생성 없이 기존 문자열이 확장.
  • String과 다르게 문자열이 빈번하게 변경될 때 사용하면 성능이 좋다.
  • StringBuilder는 멀티쓰레드 환경에서 문자열의 안전한 변경을 보장해주지 않는 특징이 있다.
  • 즉, 여러 쓰레드가 문자열에 동시 접근, 변경이 이루어지면 수행결과가 올바르지 않는 것을 의미.

 

StringBuilder 사용법

public class Main
{
    public static void main(String[] args)
    {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("문자열 ").append("연결");
        // String str = stringBuilder; // String에 StringBuilder를 그대로 넣을 순 없다. 
        String str = stringBuilder.toString(); // toString()사용
        // 두 println()은 같은 값을 출력한다
        System.out.println(stringBuilder);
        System.out.println(str);
    }
}

 

StringBuilder 주요 메소드

  • append() - 문자열 추가
  • capacity() - 현재 char[] 배열이 가진 사이즈 정보를 반환
  • delete() - 매개변수로 전달받은 인덱스 사이의 문자열 제거
  • deleteCharAt() - 특정 인덱스의 한 문자만 삭제
  • insert() - 특정 위치에 문자열 삽입
  • reverse() - 문자열을 거꾸로 뒤집어 반환
  • setCharAt() - 특정 위치의 문자 변경
  • setLength() - 문자열 길이 조정
  • trimToSize() - 문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정

 

728x90

+ Recent posts