String은 반복문에서 '+'을 이용하여 연결 연산을 해선 안됩니다

 

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. :star2:

원문으로 바로가기

Star This Project