반응형
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
- input
- Eclipse
- IntelliJ
- 문자열
- ArrayList
- 자바스크립트
- vscode
- CSS
- 이탈리아
- HashMap
- replace
- string
- 정규식
- CMD
- 인텔리제이
- Java
- list
- map
- table
- html
- date
- Button
- 배열
- json
- 자바
- javascript
- js
- Visual Studio Code
- 이클립스
- Array
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuffer] toString() – 최종 문자열 변환하기 본문
StringBuffer
는 문자열을 가변적으로 다룰 수 있어 성능상 유리하지만,
실제로 출력하거나 다른 API에 전달할 때는 불변 문자열(String) 타입이 필요한 경우가 많습니다.
이때 사용하는 메서드가 바로 toString()
입니다.
1. toString() 기본 사용법
public synchronized String toString()
- 현재
StringBuffer
에 담긴 내용을 새로운String
객체로 반환 - 원본
StringBuffer
는 그대로 유지
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World");
String result = sb.toString();
System.out.println(result);
// 출력: Hello World
👉 최종 문자열이 필요할 때 꼭 toString()
을 호출해야 합니다.
2. 출력 시 자동 호출
System.out.println()
같은 메서드에서는 내부적으로 toString()
이 자동 호출됩니다.
StringBuffer sb = new StringBuffer("Java");
System.out.println(sb); // 내부적으로 sb.toString() 호출
👉 콘솔에서는 차이가 없어 보이지만, 다른 API에서는 반드시 명시적으로 toString()
을 써야 합니다.
3. 실전 활용 예제
동적 SQL 쿼리 생성
StringBuffer query = new StringBuffer();
query.append("SELECT * FROM users ")
.append("WHERE age > ").append(20)
.append(" ORDER BY name");
String sql = query.toString();
System.out.println(sql);
👉 DB 쿼리를 동적으로 만들고, 최종적으로 String
으로 변환해 실행.
JSON 문자열 생성
StringBuffer json = new StringBuffer();
json.append("{")
.append("\"name\":\"Alice\",")
.append("\"age\":25")
.append("}");
String result = json.toString();
System.out.println(result);
👉 문자열을 효율적으로 조립한 뒤, String
으로 변환해 API에 전달.
4. 정리
toString()
은StringBuffer
의 내용을 최종String
으로 변환- 콘솔 출력에서는 자동 호출되지만, API 호출 시에는 명시적으로 사용해야 함
- 문자열 조합 후 확정된 값을 안전하게 사용하려면 반드시 필요
🔑 한 줄 정리
👉 StringBuffer
로 문자열을 만들었다면, 최종 결과를 얻기 위해서는 toString()
을 호출하자!
반응형
'IT > Java' 카테고리의 다른 글
[Java Character] isDigit() - 문자가 숫자인지 확인하기 (0) | 2025.09.29 |
---|---|
[Java Character] 주요 메소드 정리와 활용 예제 (0) | 2025.09.28 |
[Java StringBuffer] substring() – 부분 문자열 추출하기 (0) | 2025.09.27 |
[Java StringBuffer] charAt(), setCharAt() – 특정 문자 읽기와 수정하기 (0) | 2025.09.27 |
[Java StringBuffer] length(), capacity(), ensureCapacity(), setLength(), trimToSize() – 길이와 버퍼 관리 (0) | 2025.09.26 |
Comments