*JAVA*
[java] StringBuffer, StringBuilder
깐부로부터
2021. 11. 21. 00:47
문자열 결합 연산 +
String은 내부의 문자열을 수정할 수 없다. (불변클래스)
문자열을 추가하거나 삭제해서 수정시 또다른 객체를 생성. 메모리의 불필요한 낭비가 발생
그것을 보완해서 나온것이 StringBuffer/Stringbuilder
- StringBuffer
버퍼(buffer : 데이터를 임시로 저장하는 메모리)에 문자열을 저장한다.
버퍼 내부에서 추가, 수정, 삭제 작업을 할 수 있다.
멀티 스레드환경에서 사용가능
- StringBuilder
StringBuffer와같이 버퍼에 문자열을 저장하고 추가,수정,삭제 작업 모두 가능하다.
단 하나 차이점은 단일 스레드환경에서 사용 가능
<StringBuffer/StringBuilder의 메소드>
- append() : 문자열데이터 끝부분은 문자열 추가
- insert(int offset, ....) : 문자열 중간에 삽입
- delete(int start, int end) : start에서 end이전까지 문자열 삭제
- deletecharAt(int index) : 인덱스에 해당하는 문자 하나 삭제
- replace(int start, int end, String str) : start부터 end이전까지 문자열(str)로 대체
- StringBuilder reverse() : 문자열 순서 뒤집기
- setCharAt(int index, char ch) : 특정 인덱스에 있는 하나의 문자를 특정 문자로(ch)로 대체