Language/Java
[Java] String, StringBuilder, StringBuffer
큰거북
2023. 10. 12. 01:07
개요
Java에서 문자열을 다루는 자료형 클래스로는 String, StringBuilder, StringBuffer 을 사용한다.
3개 클래스 모두 문자열을 다루는 공통점이 있으나, 각각의 장단점을 알아보며 언제 사용하는지 알아보자.
String 특징
- 불변객체로 생성된 객체가 변경되지않는다.
- 'concat()', '+' 연산자를 통해 문자열 수정 가능
- 수정이 될 경우 새로운 객체가 생성되기에 문자열 수정이 잦은 경우 부적절하다.
- 간단한 문자열 연산에 사용하기 용이하다.
StringBuilder 특징
- 가변객체로 생성된 객체가 변경될수있다.
- 수정이 될 경우 새로운 객체가 생성되지 않고 변경이 된다.
- 반복적인 문자열 연산에 사용하기 용이하다.
StringBuffer 특징
- StringBuilder와 비슷한 thread-safe한 특성을 가지고있다.
- 멀티스레드 환경에서 동시적으로 접근하는 상황의 경우 사용될수 있다.