본문 바로가기

Programming/Java

Difference between StringBuilder and StringBuffer (StringBuilder 와 StringBuffer의 차이점)

StringBuilder is not synchronized but StringBuffer is.

So if you are considering using codes in multi-threaded environment, you should use StringBuffer. If not use StringBuilder. It's much more faster.


1. Use String class if text is not changed.

2. Use StringBuffer if the text is continuously changing and you are planning to program muti-threaded.

3. Use StringBuilder if the text is continuously changing and you are planning to program single-threaded.



StringBuilder는 동기화(synchronized)가 되지 않는다. 하지만 StringBuffer는 동기화가 된다.

즉, Multi Threaded 환경에서 사용된다면, StringBuffer를 사용하고, 그렇지 않다면, StringBuilder를 사용하는 것이 바람직하다.


다음과 같은 항목일 경우 String, StringBuilder, StringBuffer 사용을 하여야 한다.


1. text가 변하지 않는다면, String class를 사용하여야 한다.

2. text가 지속적으로 변하고, multi-threaded 환경에서 사용된다면, StringBuffer 를 사용

3. text가 지속적으로 변하고, single-threaded 환경에서 사용된다면, StringBuilder 를 사용