반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- 정규식
- CMD
- 배열
- Array
- 자바스크립트
- HashMap
- map
- Eclipse
- list
- table
- html
- js
- date
- replace
- IntelliJ
- 문자열
- Visual Studio Code
- 이탈리아
- json
- Button
- 이클립스
- Java
- ArrayList
- 자바
- 인텔리제이
- vscode
- input
- javascript
- string
- CSS
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuffer] insert() – 원하는 위치에 문자열 삽입하기 본문
StringBuffer.insert()는 문자열 끝에 붙이는 append()와 달리,
원하는 인덱스 위치에 새로운 문자열이나 데이터를 삽입할 수 있습니다.
멀티스레드 환경에서도 안전하게 동작한다는 점이 특징입니다.
1. insert() 기본 사용법
public synchronized StringBuffer insert(int offset, String str)
offset위치에str을 삽입- 기존 문자열은 잘리지 않고, 오른쪽으로 밀려납니다
StringBuffer sb = new StringBuffer("Java World");
sb.insert(5, "Programming ");
System.out.println(sb.toString());
// 출력: Java Programming World
👉 "Java " 뒤에 "Programming "이 들어갔습니다.
2. 다양한 타입 지원
insert()는 문자열뿐 아니라 여러 타입을 지원합니다.
StringBuffer sb = new StringBuffer("Hello!");
sb.insert(5, 123); // 숫자 삽입
sb.insert(0, true); // 불리언 삽입
sb.insert(4, 'X'); // 문자 삽입
System.out.println(sb.toString());
// 출력: trueHellXo123!
👉 append()와 마찬가지로 다양한 타입을 처리할 수 있습니다.
3. 실전 활용 예제
날짜 포맷팅
StringBuffer sb = new StringBuffer("20250823");
sb.insert(4, "-");
sb.insert(7, "-");
System.out.println(sb.toString());
// 출력: 2025-08-23
👉 문자열을 직접 잘라내지 않고 손쉽게 포맷팅할 수 있습니다.
HTML 태그 삽입
StringBuffer sb = new StringBuffer("OpenAI");
sb.insert(0, "<b>");
sb.insert(sb.length(), "</b>");
System.out.println(sb.toString());
// 출력: <b>OpenAI</b>
👉 출력 문자열을 태그로 감싸는 것도 쉽게 구현할 수 있습니다.
4. 주의할 점
offset값이 문자열 길이보다 크거나 음수면StringIndexOutOfBoundsException발생- 인덱스 범위는 반드시
0 <= offset <= length()
StringBuffer sb = new StringBuffer("Test");
// sb.insert(10, "X"); // 예외 발생
5. 정리
insert(offset, data)→ 원하는 위치에 문자열/숫자/문자/불리언 삽입- 문자열 포맷팅, 태그 삽입, 문자열 가공에 자주 활용
- 멀티스레드 환경에서도 안전 (
synchronized)
🔑 한 줄 정리
👉 문자열 중간에 새로운 내용을 추가하고 싶다면 StringBuffer.insert()를 쓰자!
반응형
'IT > Java' 카테고리의 다른 글
| [Java StringBuffer] replace() – 문자열 일부 교체하기 (0) | 2025.09.26 |
|---|---|
| [Java StringBuffer] delete(), deleteCharAt() – 문자열 삭제하기 (0) | 2025.09.25 |
| [Java StringBuffer] append() – 문자열 이어붙이기 (0) | 2025.09.24 |
| [Java StringBuilder] toString() – 최종 문자열 변환하기 (1) | 2025.09.24 |
| [Java StringBuilder] substring() – 부분 문자열 추출하기 (0) | 2025.09.23 |
Comments