반응형
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 | 31 |
Tags
- json
- vscode
- ArrayList
- CSS
- 문자열
- IntelliJ
- input
- html
- list
- 정규식
- Button
- javascript
- replace
- 배열
- Eclipse
- 자바
- 자바스크립트
- Array
- HashMap
- table
- js
- Visual Studio Code
- 인텔리제이
- 이클립스
- date
- Java
- 이탈리아
- map
- string
- CMD
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