Note
[Java] StringBuilder
왜 필요하냐면
Java의 String은 한 번 만들면 못 고친다 그래서 +로 붙이면 기존 걸 고치는 게 아니라 새 문자열을 통째로 다시 만든다
String s = "";
s = s + "a"; // "a" 새로 만듦
s = s + "b"; // "ab" 새로 만듦 (a를 다시 베껴 씀)
s = s + "c"; // "abc" 새로 만듦 (ab를 또 베껴 씀)
매번 새 종이에 처음부터 다시 베껴 쓰는 것과 같다 몇 번이면 괜찮지만 10만 번이면 엄청 느려진다
StringBuilder는 공책이다 이미 쓴 거 뒤에 이어서 쓰기만 한다
사용방식
StringBuilder sb = new StringBuilder(); // ① 빈 공책 준비
sb.append("a"); // ② 이어 쓰기
sb.append("b");
sb.append("c");
String result = sb.toString(); // ③ 다 쓰면 String으로 바꾸기 → "abc"
이때 ③을 까먹는 경우가 많은데, 문제에서 String을 return하라고 하면 꼭 toString()으로 바꿔서 돌려줘야 한다
덤: 자주 쓰는 기능
sb.reverse(); // 뒤집기 "abc" → "cba"
sb.length(); // 길이
언제 쓰는가?
- 반복문 안에서 문자열을 계속 붙일 때 → StringBuilder
- 두세 번 붙이고 끝날 때 → 그냥 +
'Note' 카테고리의 다른 글
| [Transactional] 트랜잭션이 시작됐는데, Connection을 어디다 들고 있지? (0) | 2026.10.06 |
|---|---|
| [Monitoring, Todak-Todag] Application Performance Monitoring (0) | 2026.10.05 |
| [Java] Character (0) | 2026.10.05 |
| [Java] == vs equals (0) | 2026.10.05 |
| [Java] switch문의 “→” (0) | 2026.10.05 |