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