[Effective Java]일반적인 프로그래밍 원칙들_6
6. 문자열 연결 시 성능에 주의하라
- n개의 문자열에 연결 연산자를 반복 적용해서 연결하는 데 드는 시간은, n^2에 비례
ex23) 청구서 예제 - 문자열을 연결하는 잘못된 방법
// 문자열을 연결하는 잘못된 방법 - 성능이 엉망이다
public String statement() {
String result = "";
for (int i = 0; i < numItems(); i++)
result += lineForItem(i); // String concatenation
return result;
}
- 항목 숫자 제곱에 비례하는 성능을 냄
만족스런 성능을 얻으려면 String 대신 StringBuilder를 써서 청구서를 저장
ex24) 청구서 예제 - StringBuilder 사용
public String statement() {
StringBuilder b = new StringBuilder(numITems() * LINE_WIDTH);
for (int i = 0; i < numItems(); i++)
b.append(lineForItem(i));
return b.toString();
}
- append 메서드를 사용하면 항목 숫자에 비례하는 성능을 냄
Author And Source
이 문제에 관하여([Effective Java]일반적인 프로그래밍 원칙들_6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoondotcom/s저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)