// 잘못된 예 - 문자열 연결 연산자를 반복문에서 사용
String result = "";
for (int i = 0; i < 100000; i++) {
result += "a"; // ❌ 매우 느림!
}
// 좋은 예 - StringBuilder 사용
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100000; i++) {
sb.append("a"); // ✅ 훨씬 빠르다!
}
String result = sb.toString();
// 1. String 연결 연산자(+)
String str = "";
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
str += "a";
}
long end = System.currentTimeMillis();
System.out.println("String +: " + (end - start) + "ms"); // 약 3000ms 이상
// 2. StringBuilder
StringBuilder sb = new StringBuilder();
start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
sb.append("a");
}
String sbResult = sb.toString();
end = System.currentTimeMillis();
System.out.println("StringBuilder: " + (end - start) + "ms"); // 약 5ms