-
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
이 글은 저의 이해 및 정리한 것을 적은것이므로 실제와 다를 수 있습니다.반응형