기본적인 내용이지만, 필자는 아직 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 |
댓글