1. String, StringBuilder, StringBuffer 공통점
- 문자열을 저장하고 관리하는 클래스
2. String
- 한번 생성되면 할당된 공간이 변하지 않는다 = 불변
- 객체 생성 속도가 빠르다(StringBuffer, StringBuilder -> buffer크기 초기 설정 -> 생성속도 느림)
- 많은 양의 문자열 수정이 아니라면 String객체 사용이 더 효율적
- 단순 조회 연산에서는 StringBuffer, StringBuilder보다 빠름
3. StringBuilder, StringBuffer
- 한번 생성되면 할당된 공간의 크기가 변함 = 가변
- buffer크기 초기 설정해야하므로 생성속도가 느림
- 문자열 연산 등으로 기존 객체의 공간이 부족하게 되는 경우, 기존의 버퍼 크기를 늘리며 유연하게 동작
- 차이점 : 동기화 여부
▶ StringBuilder : 동기화 보장 X (StringBuffer보다 성능 좋음)
▶ StringBuffer : 각 메서드별로 Synchronized Keyword가 존재, 멀티스레드 환경에서도 동기화 지원
- String은 짧은 문자열을 더할 경우 사용합니다.
- StringBuffer는 스레드에 안전한 프로그램이 필요할 때나, 개발 중인 시스템의 부분이 스레드에 안전한지 모를 경우 사용하면 좋습니다.
- StringBuilder는 스레드에 안전한지 여부가 전혀 관계 없는 프로그램을 개발할 때 사용하면 좋습니다.
'Java 공부' 카테고리의 다른 글
[Java] 문자열 붙이는 방법 (0) | 2020.12.10 |
---|---|
[Java] 문자열 활용하기 (0) | 2020.12.10 |
[Java] 문자열 치환하기 (0) | 2020.12.09 |
[Java] 문자열 찾는(검색하는) 방법 (0) | 2020.12.09 |
[Java] 문자열 값 비교 (0) | 2020.12.09 |