[Java] StringBuffer 와 StringBuilder 중 뭘 써야 할까?
- 참고사이트
String vs StringBuffer & StringBuilder
String 과 StringBuffer, StringBuilder 와의 차이점은 불변성
이다.
StringBuffer vs StringBuilder
둘의 가장 큰 차이점은 동기화 유무
이다.
StringBuffer
는 동기화 키워드를 지원하여 멀티쓰레드 환경에서 안전
하다.
StringBuilder
는 동기화를 지원하지 않기 때문에 멀티쓰레드 환경에서의 사용은 적합하지 않지만, 단일쓰레드에서의 성능은 StringBuffer 보다 뛰어나다.
그럼 뭘 써야할까?
- String
- 문자열 연산이 적고 멀티쓰레드 환경인 경우
- StringBuffer
- 문자열 연산이 많고 멀티쓰레드 환경인 경우
- StringBuilder
- 문자열 연산이 많고 단일쓰레드 환경인 경우
위 환경에 맞춰서 사용하면 되지만, 잘 모르겠다면 멀티쓰레드 환경에서도 안정성이 보장 된 StringBuffer
를 사용하면 된다.
Leave a comment