티스토리 툴바

블로그 이미지
안녕하세요. 이현구입니다. cacky

카테고리

분류 전체보기 (49)
essay (22)
C.S. (20)
therapy (6)
general (0)
biz (0)
Total17,955
Today3
Yesterday10
String은 변경되지 않는(immutable) 반면에,
StringBuffer와 StringBuilder는 그 값을 변경할 수 있다.

StringBuffer와 StringBuilder의 유일한 차이점은,
StringBuffer가 동기화(synchronized)되고, StringBuilder는 동기화되지 않는(unsynchronized) 것이다.
따라서, 프로그램이 단일 쓰레드 환경(single thread)에서 동작해야 한다면,
StringBuilder를 쓰는 것이 낫다.
StringBuilder가 StringBuffer보다 더 효율적(efficient)이다.

다음은, String, StringBuffer, 그리고 StringBuilder를 선택하는 기준이다.
  1. 문자열(text)이 변경되지 않을 것이라면, String을 사용한다. 왜냐하면, String은 변경되지 않기 때문이다.
  2. 문자열(text)이 변경되고, 단일 쓰레드 환경(single thread)에서 동작한다면,
    StringBuilder를 사용한다. 왜냐하면, StringBuilder는 비동기적(unsynchronized)이기 때문이다.
  3. 문자열(text)이 변경되고, 다중 쓰레드 환경(multi threads)에서 동작한다면,
    StringBuffer를 사용한다. 왜냐하면, StringBuffer는 동기적(synchronized)이기 때문이다.


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

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by cacky

최근에 달린 댓글

최근에 받은 트랙백

글 보관함