반응형
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
- Visual Studio Code
- javascript
- Eclipse
- map
- replace
- CSS
- Array
- string
- CMD
- 자바스크립트
- 이클립스
- HashMap
- js
- html
- date
- Button
- input
- 문자열
- 자바
- 이탈리아
- Java
- ArrayList
- IntelliJ
- 인텔리제이
- 배열
- list
- 정규식
- json
- vscode
- table
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuilder] charAt(), setCharAt() – 특정 문자 읽기와 수정하기 본문
문자열에서 특정 위치의 문자를 읽거나 바꾸고 싶을 때, String은 불변(immutable)이라 새로운 문자열을 생성해야 하지만,StringBuilder는 가변(mutable)이라 원하는 위치의 문자를 직접 읽고 수정할 수 있습니다.
1. charAt() – 특정 문자 읽기
public char charAt(int index)
- 지정한 위치의 문자를 반환
- 인덱스는 0부터 시작
StringBuilder sb = new StringBuilder("Java");
char c = sb.charAt(2);
System.out.println(c);
// 출력: v
👉 "Java"의 인덱스 2에 있는 문자는 'v'입니다.
2. setCharAt() – 특정 문자 수정
public void setCharAt(int index, char ch)
- 지정한 위치의 문자를 새로운 문자로 교체
StringBuilder sb = new StringBuilder("Java");
sb.setCharAt(0, 'K');
System.out.println(sb.toString());
// 출력: Kava
👉 첫 번째 문자 'J'가 'K'로 바뀌었습니다.
3. 실전 활용 예제
문자열 일부 수정
StringBuilder sb = new StringBuilder("Hello World");
sb.setCharAt(6, 'w');
System.out.println(sb.toString());
// 출력: Hello world
👉 "World"의 첫 글자를 소문자로 바꿀 수 있습니다.
문자열 탐색 후 교체
StringBuilder sb = new StringBuilder("a-b-c-d");
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '-') {
sb.setCharAt(i, '_');
}
}
System.out.println(sb.toString());
// 출력: a_b_c_d
👉 특정 문자를 다른 문자로 변환하는 데 활용 가능합니다.
4. 주의할 점
- 인덱스 범위를 벗어나면
StringIndexOutOfBoundsException발생
StringBuilder sb = new StringBuilder("Java");
// sb.charAt(10); // 예외 발생
// sb.setCharAt(10, 'X'); // 예외 발생
👉 반드시 0 <= index < length() 범위 내에서만 사용해야 합니다.
5. 정리
charAt(index)→ 특정 위치 문자 읽기setCharAt(index, ch)→ 특정 위치 문자 교체- 문자열 일부 수정, 특정 문자 변환 등에 유용
- 인덱스 범위 체크 필수
🔑 한 줄 정리
👉 특정 문자만 읽거나 수정하려면 StringBuilder.charAt()과 setCharAt()을 활용하자!
반응형
'IT > Java' 카테고리의 다른 글
| [Java StringBuilder] toString() – 최종 문자열 변환하기 (1) | 2025.09.24 |
|---|---|
| [Java StringBuilder] substring() – 부분 문자열 추출하기 (0) | 2025.09.23 |
| [Java StringBuilder] setLength() – 문자열 길이 강제로 조정하기 (0) | 2025.09.22 |
| [Java StringBuilder] capacity(), ensureCapacity() – 내부 버퍼 관리 (0) | 2025.09.22 |
| [Java StringBuilder] reverse() – 문자열 뒤집기 (0) | 2025.09.21 |
Comments