문자열 연결 연산자로 문자열 n개를 잇는 시간은 n^2에 비례한다.
또한, 문자열은 불변이라서, 두 문자열을 연결할 경우 두 문자열의 내용을 모두 복사해야 한다.
public String statement() {
String result = "";
for (int i=0; i<numItems(); i++){
result += lineForItem(i); //문자열 연결
}
return result;
}
public String statement2() {
StringBuilder b = new StringBuilder(numItems() * LINE_WIDTH);
for ( int i = 0; i < numItems(); i+=)
b.append(lineForItem(i));
return b.toString();
}
성능을 포기하고 싶지 않다면 String 대신 StringBuilder를 사용하자.