ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • String vs StringBuffer
    개발하면서/etc 2009. 4. 17. 14:31
    반응형
    <SPAN id=tx_marker_caret></SPAN>  String str = new String ("Stanford  ");
         str += "Lost!!";
    
    바이트 코드로 변환하면 아래와 같다.

    String '+'연산을 할때 임시저장소 StringBuffer을 만든뒤 append를 한 후 다시 String으로 변환하는 작업을 한다.

    바이트 코드로 변환하면 다음과 같다

    StringBuffer str = new StringBuffer ("Stanford ");str.append("Lost!!");

    StringBuffer는 append연산을 위해 임시저장소도 사용하지 않고 변환작업 없이 수행을 한다.

    StringBuffer를 사용하라는 결론이었다.

    자료 : http://www.javaworld.com/javaworld/jw-03-2000/jw-0324-javaperf.html



    여기에서는 용도에 맞게 사용하라는 것.

    String과 StringBuffer 연산 시간을 비교하는 소스의 잘못을 짚어주고, StringBuffer의 Array doubling이라는 개념을 설명해주었다.

    여기서는 쿼리문같이 한번의 대입연산에서 '+'연산으로 긴 문자열을 만들경우는 String을

    루프를 돌거나 중간중간 추가하려면 StringBuffer를 사용하라는 말을 한다.

    자료 : http://youngrok.com/wiki/wiki.php/StringVsStringBuffer



    이 글은 저의 이해 및 정리한 것을 적은것이므로 실제와 다를 수 있습니다.

    반응형

    댓글

Designed by Tistory.