반응형
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
- json
- map
- CSS
- list
- Array
- js
- IntelliJ
- javascript
- CMD
- Visual Studio Code
- 문자열
- Java
- html
- 이클립스
- string
- 정규식
- date
- replace
- 자바스크립트
- 자바
- 이탈리아
- vscode
- Eclipse
- HashMap
- table
- 배열
- Button
- ArrayList
- input
- 인텔리제이
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuilder] setLength() – 문자열 길이 강제로 조정하기 본문
StringBuilder
는 문자열 길이를 마음대로 조정할 수 있는 기능을 제공합니다.
그게 바로 setLength()
메서드인데, 문자열을 잘라내거나 늘릴 때 유용하게 쓸 수 있습니다.
1. setLength() 기본 사용법
public void setLength(int newLength)
- 현재 문자열의 길이를
newLength
로 강제 설정 newLength < 현재 길이
→ 문자열이 잘림newLength > 현재 길이
→ 빈 공간(\u0000
)이 채워짐
StringBuilder sb = new StringBuilder("Hello World");
sb.setLength(5);
System.out.println(sb.toString());
// 출력: Hello
👉 문자열을 자르는 효과를 얻을 수 있습니다.
2. 문자열 늘리기
StringBuilder sb = new StringBuilder("Java");
sb.setLength(10);
System.out.println("길이: " + sb.length());
System.out.println("내용: [" + sb.toString() + "]");
출력:
길이: 10
내용: [Java������]
👉 "Java"
뒤에 \u0000
(널 문자)이 채워지지만, 화면에 출력되면 공백처럼 보이기도 합니다.
3. 실전 활용 예제
문자열 잘라내기
StringBuilder sb = new StringBuilder("2025-08-23 14:30:59");
sb.setLength(10);
System.out.println(sb.toString());
// 출력: 2025-08-23
👉 로그 타임스탬프에서 날짜 부분만 남기고 잘라낼 수 있습니다.
버퍼 초기화 (내용 삭제)
StringBuilder sb = new StringBuilder("Temporary Data");
sb.setLength(0);
System.out.println("길이: " + sb.length());
// 출력: 길이: 0
👉 delete(0, length())
대신 setLength(0)
으로 한 줄에 문자열을 비울 수 있습니다.
4. 주의할 점
newLength
가 음수라면StringIndexOutOfBoundsException
발생- 문자열을 늘릴 경우
\u0000
문자가 들어가기 때문에 그대로 출력하면 예상과 다르게 보일 수 있음
StringBuilder sb = new StringBuilder("ABC");
// sb.setLength(-1); // 예외 발생
5. 정리
setLength(newLength)
→ 문자열 길이를 강제로 변경- 줄이면 잘리고, 늘리면
\u0000
채워짐 - 문자열 잘라내기, 초기화 등 다양한 활용 가능
- 음수 길이는 예외 발생
🔑 한 줄 정리
👉 setLength()
는 StringBuilder
의 문자열을 잘라내거나 비울 때 가장 간단한 방법이다!
반응형
'IT > Java' 카테고리의 다른 글
[Java StringBuilder] substring() – 부분 문자열 추출하기 (0) | 2025.09.23 |
---|---|
[Java StringBuilder] charAt(), setCharAt() – 특정 문자 읽기와 수정하기 (0) | 2025.09.23 |
[Java StringBuilder] capacity(), ensureCapacity() – 내부 버퍼 관리 (0) | 2025.09.22 |
[Java StringBuilder] reverse() – 문자열 뒤집기 (0) | 2025.09.21 |
[Java StringBuilder] replace() – 문자열 일부 교체하기 (0) | 2025.09.21 |
Comments