본문 바로가기
Programming

String vs StringBuffer vs StringBuilder in Java

by leanu 2013. 5. 15.

기본적인 내용이지만, 필자는 아직 Java 초보인 관계로 3개의 객체에 대한 차이점들을 기록으로 남긴다.

  • String 객체는 한번 저장한 내부의 문자열을 변화시키지 않는다(immutable). 대신 변화된 문자열을 새로 생성한한다. 따라서 += 과 같은 append 연산자를 자주 사용해야 할 경우 String 객체를 사용하면 속도가 엄청 느리게 된다.
  • StringBuffer는 내부 값들을 변화시키는 구조(mutable)로 되어있다. 따라서 append 연산에 있어 String보다 최적화 되어있다. Thread Safe 하므로 (Synchronized), 이 속성을 유지하면서 빠른 string append 연산을 요구하는 부분에 사용한다.
  • StringBuilder또한 내부 값들을 변화시키는 구조(mutable)로 되어있다. Thread  safe하지 않으므로 StringBuffer보다 빠르다. 따라서 Thread Safe속성을 필요로 하지 않는 부분에 사용할 수 있다.

'Programming' 카테고리의 다른 글

Java sample code of random string generator  (0) 2013.05.15
JSP Sample code of Http Post  (0) 2013.05.15
Removing BOM in Java  (0) 2013.04.29
자바 프로젝트 내에서의 빌드 버전 관리 (ant)  (0) 2013.04.24
REST API Design  (0) 2012.11.15

댓글