StringBuffer클래스
정의
- StringBuffer 클래스의 문자열은 기존의 문자열을 변경하면
- 새로운 문자열이 생성되는 것이 아니라
- 기존의 문자열만 변경
사용하는 경우
- 기존의 문자열을 변경하는 상황이 많은 경우에 사용
- (예) 안드로이드와 같은 메모리 자원이 부족한 모바일 환경에서, 문자열을 자주 변경하는 경우에 사용
append() 메서드
- append() : 문자열을 뒤에 추가함
- String 클래스와 달리 append() 메서드를 이용하여, 기존 문자열을 수정할 수 있음
특징
- 멀티 스레드 동기화 기능이 제공
StringBuilder 클래스
정의
- StringBuffer 클래스의 문자열은 기존의 문자열을 변경하면
- 새로운 문자열이 생성되는 것이 아니라
- 기존의 문자열만 변경
사용하는 경우
- 기존의 문자열을 변경하는 상황이 많은 경우에 사용
- (예) 안드로이드와 같은 메모리 자원이 부족한 모바일 환경에서, 문자열을 자주 변경하는 경우에 사용
특징
- 멀티 스레드 동기화 기능이 제공되지 않음
- 따라서 StringBuffer보다 성능면에서 좋음
따라서 멀티 스레드 환경이 아니면 StringBuilder를 사용하는 것이 좋음
StringBuilder와 StringBuffer 차이점
StringBuffer 클래스 | StringBuilder클래스 |
스레드 동기화 제공 | 스레드 동기화 기능을 제공하지 않음 |
'JAVA' 카테고리의 다른 글
[JAVA] enum(열거 타입, 사용하기, 사용하는 이유) (1) | 2024.04.24 |
---|---|
[JAVA] Object.equals()와 String.equals(), ==연산자 (0) | 2024.04.24 |
[JAVA] 값 복사하기 : object클래스의 clone() 메서드 (0) | 2024.04.24 |
[JAVA] 깊은 복사, 얕은 복사 (0) | 2024.04.24 |
[JAVA] 익명 클래스(익명 객체) (0) | 2024.04.23 |