JAVA/Effective Java

규칙 51 - 문자열 연결 시 성능에 주의하라

반응형

문자열 연결시에 + 를 사용하여 연결하면 편리하고 좋다. 한줄 정도나 몇 개 정도의 객체를 문자열로 변환할 때는 사용해도 무관하다. 

하지만 연결하는 것이 많으면 성능에 문제가 발생한다.

n개의 문자열에 연결 연산자를 반복 적용해서 연결하는 데 소요되는 시간은 n의 제곱에 비례한다.
-> 왜냐하면, 문자열은 변경불가능한 객체이기 때문에 새로 만들기위해서 두 개의 문자열을 붙힐 때 기준에 문자열을 모두 복사한다.

만족스런 성능을 위해서는 stringBuilder나 동기화가 적용된 StringBuffer를 사용하라.


출처 : 조슈아 블로크, 『 Effective Java 2/E』, 이병준 옮김, 인사이트(2014.9.1), 규칙50 인용.



반응형