StringBulider란?
StringBuilder는 Java에서 문자열을 조작할 때 성능을 향상시키기 위해 사용되는 클래스입니다. String 클래스는 불변(immutable)이라서 문자열을 변경하면 새로운 문자열 객체를 생성하는 반면, StringBuilder는 가변(mutable)이라서 동일 객체 내에서 문자열을 수정할 수 있습니다. 이러한 특성 덕분에 문자열을 반복적으로 연결하거나 변경할 때 StringBuilder가 더 효율적입니다.
StringBuilder 클래스의 특징
- 가변성 (Mutability): 한 번 생성된 객체 내에서 문자열을 수정할 수 있어 String과 달리 새로운 객체를 생성하지 않음.
- 동기화되지 않음 (Non-Synchronized): StringBuffer와 달리 동기화 처리가 되어 있지 않기 때문에 멀티 스레드 환경에서는 안전하지 않지만, 단일 스레드에서 성능이 더 좋음.
- 효율적인 문자열 처리: 문자열 연결이나 수정이 빈번하게 일어날 때 유리함.
StringBuilder 생성 방법
StringBuilder sb = new StringBuilder(); // 기본 생성자
StringBuilder sb = new StringBuilder("Hello"); // 초기 문자열 지정
주요 메서드
1. append()
- 문자열 끝에 새로운 문자열을 추가.
- 다양한 타입의 데이터를 받아들여 문자열로 변환 후 추가.
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // "Hello World"
sb.append(123); // "Hello World123"
2. insert()
- 특정 위치에 문자열을 삽입.
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World"); // "Hello World"
3. replace()
- 문자열의 일부분을 다른 문자열로 대체.
StringBuilder sb = new StringBuilder("Hello World");
sb.replace(6, 11, "Java"); // "Hello Java"
4. delete()
- 지정한 범위의 문자열을 삭제.
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11); // "Hello"
5. deleteCharAt()
- 지정한 위치의 문자 하나를 삭제.
StringBuilder sb = new StringBuilder("Hello World");
sb.deleteCharAt(5); // "HelloWorld"
6. reverse()
- 문자열을 뒤집음.
StringBuilder sb = new StringBuilder("Hello");
sb.reverse(); // "olleH"
7. setCharAt()
- 특정 인덱스의 문자를 변경.
StringBuilder sb = new StringBuilder("Hello");
sb.setCharAt(1, 'a'); // "Hallo"
8. toString()
- StringBuilder를 String으로 변환.
StringBuilder sb = new StringBuilder("Hello");
String str = sb.toString(); // "Hello"'Java' 카테고리의 다른 글
| Java 기본 - 클래스(배열) (0) | 2024.11.19 |
|---|---|
| Java 기본 - 클래스, 객체, 인스턴스 (0) | 2024.11.11 |
| 객체지향 프로그래밍 - 객체 지향 설계 원칙 (0) | 2024.05.30 |
| 객체지향 프로그래밍 - 객체지향 기법 (0) | 2024.05.30 |
| 객체지향 프로그래밍 - 객체 지향 구성요소 (0) | 2024.05.30 |