[Java/자바] StringBuilder 클래스란 ?

String은 변경 불가능한 문자열을 생성하지만 StringBuilder는 변경 가능한 문자열을 만들어 주기 때문에,

String을 합치는 작업이 필요할 시 사용할 수 있습니다.

 

객체 선언
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder("ABC"); 문자열을 바로 넣을 수도 있다.

 

StringBuilder 메서드
public class sb {
	public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        // 문자열 추가
        System.out.println(sb.append("bbb")); // bbb
        System.out.println(sb.append(4)); // bbb4
        System.out.println(sb.append("aaa")); // bbb4aaa

        // 문자열 삽입
        System.out.println(sb.insert(2, "C")); // bbCb4aaa
        
        // 문자열 치환, 문자열 교체
        System.out.println(sb.replace(3, 4, "y")); // bbCy4aaa
        System.out.println(sb.replace(1, 4, "HH")); // bHH4aaa

        // 문자열 자르기
        System.out.println(sb.substring(5)); // aa
        System.out.println(sb.substring(3, 5)); // 4a

        // 문자 삭제
        System.out.println(sb.deleteCharAt(3)); // bHHaaa

        // 문자열 삭제
        System.out.println(sb.delete(3, sb.length())); // bHH

        // 문자열 변환
        System.out.println(sb.toString()); // bHH

        // 문자열 뒤집기
        System.out.println(sb.reverse()); // HHb

        // 문자 대체, 문자 교체, 문자 치환
        sb.setCharAt(1, '1');
        System.out.println(sb); // H1b

        // 문자열 길이 조정
        sb.setLength(2);
        System.out.println(sb); // H1
        
        sb.setLength(6);
        System.out.println(sb); // H1     
        
    }
}
  • .append()

문자열을 추가한다. ( 뒤로 하나씩 추가 )

 

  • .insert(index, String str)

index 위치에 str을 추가한다.

 

  • .replace(index start, index end)

첫번째 인덱스와 두번째 인덱스 전까지 문자열을 대체한다.

 

  • .substring(index start, (index end))

파라미터가 하나라면 해당 인덱스부터 끝까지, 두개라면 시작점과 끝점전까지 문자열을 자른다. 

 

  • .deleteCharAt(index)

인덱스에 위치한 문자 하나를 삭제한다.

 

  • .delete(index start, index end)

start 부터 end 전 까지의 문자를 삭제한다.

 

  • .toString()

String 문자열으로 변환한다.

 

  • .reverse()

해당 문자 전체를 뒤집는다.

 

  • .setCharAt(index, String str)

index 위치의 문자를 str로 변경

 

  • .setLength(int len)

문자열 길이 조정, 현재 문자열보다 길게 조정하면 공백으로 채워지고, 현재 문자열보다 짧게 조정하면 나머지 문자는 삭제된다.

 


참고자료
https://da2uns2.tistory.com/entry/Java-StringBuilder-%EC%82%AC%EC%9A%A9%EB%B2%95%EA%B3%BC-%EC%A3%BC%EC%9A%94-%EB%A9%94%EC%86%8C%EB%93%9C
https://onlyfor-me-blog.tistory.com/317