[ StringBuilder란? ]
1. 가변 문자열 (Mutable String):
- String 객체는 불변(immutable)이다. 즉, 한 번 생성된 문자열은 변경할 수 없다. 하지만 StringBuilder는 가변(mutable) 문자열로, 기존 문자열을 수정할 수 있다.
- 예를 들어, String을 사용하면 문자열을 수정할 때마다 새로운 객체가 생성된다. 반면, StringBuilder는 내부에서 기존 문자열을 변경하므로 성능이 더 좋다.
2. 성능:
- 문자열을 반복적으로 추가하거나 수정할 때 StringBuilder를 사용하면 성능이 향상된다. 특히 많은 문자열 조작이 필요한 경우 유용하다.
3. 주요 메서드:
- append(String str) : 문자열을 추가한다.
- insert(int index, String str) : 지정한 인덱스에 문자열을 삽입한다.
- delete(int start, int end) : 특정 범위의 문자열을 삭제한다.
- toString() : StringBuilder 객체를 String으로 변환한다.
4. 사용 예제:
public class Main {
public static void main(String[] args) {
// StringBuilder 객체 생성
StringBuilder sb = new StringBuilder();
// 문자열 추가
sb.append("Hello");
sb.append(" ");
sb.append("World!");
// 결과 출력
System.out.println(sb.toString()); // Hello World!
// 문자열 삽입
sb.insert(6, "Java "); // "Hello Java World!"
System.out.println(sb.toString());
// 문자열 삭제
sb.delete(5, 6); // "HelloJava World!"
System.out.println(sb.toString());
}
}
위의 예제에서 보듯이 StringBuilder는 문자열을 쉽게 추가, 삽입, 삭제할 수 있다.
요약:
- StringBuilder는 가변 문자열을 제공하여 문자열 조작을 효율적으로 할 수 있게 해준다. 성능이 중요한 경우에 적합하다.
728x90
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 싱글스레드(Single-Thread)와 멀티스레드(Multithreading)의 차이점 및 개념 (0) | 2024.12.29 |
---|---|
List.of , 예외 처리 (0) | 2024.10.25 |
[Java] synchronized 와 임계구역 (2) | 2024.10.07 |
[Java]배열 도입 - 리펙토링 (배열과 for문 선언 최적화) (0) | 2024.09.25 |