String, StringBuffer, StringBuilder

String
변경되지 않는 Character 문자열 객체
문자열이 변경되지 않을 경우에는 String 사용


StringBuffer
값이 변경 가능 // 동기화 가능 : 다중 스레드 일 경우에 사용
문자열이 변경되고 다중 스레드에서 사용될 경우 사용


StringBuilder
값이 변경 가능 // 동기화 되지 않음 : 단일 스레드일 경우에 사용
문자열이 변경되고, 단일 스레드에서 사용될 경우 사용



String is immutable whereas StringBuffer and StringBuilder can change their values.


The only difference between StringBuffer and StringBuilder is that StringBuilder is unsynchronized whereas StringBuffer is synchronized. So when the application needs to be run only in a single thread then it is better to use StringBuilder. StringBuilder is more efficient than StringBuffer.


Criteria to choose among String, StringBuffer and StringBuilder


1.If your text is not going to change use a string Class because a String object is immutable.
2.If your text can change and will only be accessed from a single thread, use a StringBuilder because StringBuilder is unsynchronized.
3.If your text can changes, and will be accessed from multiple threads, use a StringBuffer because StringBuffer is synchronous.

Refference: http://www.java-tips.org/java-se-tips/java.lang/difference-between-string-stringbuffer-and-stringbu.html

Leave a Reply

Your email address will not be published. Required fields are marked *