본문 바로가기

독서찰기(讀書札記)/이펙티브 자바

[아이템 63] 문자열 연결은 느리니 주의하라

[Why]

문자열 연결 연산자로 문자열 n개를 잇는 시간은 n^2에 비례한다.

  • 문자열은 불변(아이템17)이라서 두 문자열을 연결할 경우 양쪽의 내용을 모두 복사해야하므로 성능 저하는 피할 수 없는 결과다.

 

[How]

성능을 포기하고 싶지 않다면 String 대신 StringBuilder를 사용하자.

  • StringBuilder를 전체 결과를 담기에 충분한 크기로 초기화하면 조금 더 빠르다.