shining8543   3년 전

자바에서 StringBuilder를 이용하여 출력을 해주는 것이

하나하나 다 프린트 해주는 것보다 빠르다는 것은 알고 있습니다.

그런데 StringBuilder sb 라고 할 때

sb.append(a);

sb.append(" ");

sb.append(b);
이렇게 나누어서 해주는 것이

sb.append(a+" "+b); 보다 훨씬 빠르던데
왜 이러한 차이가 나타나는 것인가요?

djm03178   3년 전

a + " " + b라는 것 자체가,

1. a를 String 객체로 변환

2. 1에서 만든 객체와 " "를 붙인 새로운 String 객체를 생성

3. b를 String 객체로 변환

4. 2에서 만든 객체와 3에서 만든 객체를 붙인 새로운 String 객체를 생성

이라는 복잡한 과정을 거치기 때문에 느린 것 같습니다.

shining8543   3년 전

StringBuilder 라서 무심코 appned 처리를 자동으로 해줄 것이라고 생각했는데

잘 생각해보니 결국 매개변수 String을 새로 생성하고 합치고 하는 과정이 거친 후에 StringBuilder의 appned를 진행하게 되겠군요.

감사합니다

댓글을 작성하려면 로그인해야 합니다.