String
은 불변 객체입니다.
연결 연산이 단순히 기존 문자열의 끝에 새로운 문자열을 추가하는 방식으로 동작하지 않습니다.
loop를 반복하면서 첫 번째 String
이 중간 객체 유형으로 변환되고, 두 번째 String
이 연결 된 다음, 중간 객체를 다시 String
으로 변환합니다.
이러한 작업의 성능은 String
이 길어질수록 저하됩니다.
따라서 StringBuilder
를 사용하는 것이 좋습니다.
규칙을 어긴 코드
String str = "";
for (int i = 0; i < arrayOfStrings.length ; ++i) {
str = str + arrayOfStrings[i];
}
규칙을 준수한 해결책
StringBuilder bld = new StringBuilder();
for (int i = 0; i < arrayOfStrings.length; ++i) {
bld.append(arrayOfStrings[i]);
}
String str = bld.toString();
If you like SONARKUBE, don’t forget to give me a star.