[Effective Java] 문자열 연결은 느리니 주의하라.


[Effective Java] 문자열 연결은 느리니 주의하라.

문자열 연결은 느리니 주의하라. 문자열 연결 연산자로 문자열 n 개를 잇는 시간은 n^2에 비례한다. String은 불변이라서 두 문자열을 연결할 경우 양쪽의 내용 모두 복사해야 하기에 성능 저하가 반드시 발생한다. StringBuilder 성능을 포기하고 싶지 않다면 String 대신 StringBuilder를 사용하자. 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의 append 메서드를 사용하라. 문자열 배열을 사용하거나, 문자열을 연결하...


#effectivejava #java #이펙티브자바 #자바

원문링크 : [Effective Java] 문자열 연결은 느리니 주의하라.