Java/java

java :) StringBuffer

euncheol kim 2022. 4. 23. 17:23

 

 

 

 

goal

StringBuffer 클래스를 이해한다.

  • String 클래스와 StringBuffer 클래스의 비교

 

 

[1] 우선, "immutable class? mutable class?"

명칭 설명
불변 클래스 (immutable class) 인스턴스가 한 번 생성되면 그 값을 변경할 수 없는 클래스
가변 클래스 (mutable class) 인스턴스의 값을 변경할 수 있는 클래스

※ 인스턴스가 생성되면... 메모리에 할당이 된다. 따라서, 독립적인 메모리를 갖는다는 것을 기억한다.

 

 

[2] 우선, "String 클래스와 StringBuffer"

클래스 mutable 여부 설 명 사용목적
String 클래스 x 인스턴스가 한 번 생성되면 그 값을 변경할 수 없다. 객체가 서로 영향을 주어서는 안 되는 경우
StringBuffer 클래스 o 인스턴스의 값을 변경할 수 있다. 객체의 변경이 잦은 경우

 

 

1 ] StringBuffer 클래스

1. StringBuffer클래스의 대표적 메소드

메소드 설 명
append() 마지막에 요소를 추가한다.
- 요소의 type은 문자열로 변환되어 추가가 된다.
capacity() StringBuffer의 현재 버퍼 크기를 반환한다.
- 기본적으로 버퍼의 크기는 16이다.
- 만약, StringBuffer 클래스 매개변수에 값을 넣어준다면 기본 길이 16 + 매개변수 값의 length가 된다.
delete() 매개변수에는 두 개의 인자가 전달되며, 조건에 해당하는 부분을 문자열에서 제거한다.
- StringBuffer.delete (startIndex, endIndex)
- 의미 :: 첫 번째 인자부터 마지막 인자 - 1 번째까지 문자열에서 제거
deleteCharAt() 매개변수에는 index가 전달되며, index에 해당하는 특정 부분을 문자열에서 제거한다.
insert() 매개변수에는 두 개의 인자가 전달되며, 사용자가 원하는 부분의 문자열에 문자를 추가한다.
- StringBuffer.delete (index, str)
reverse() 해당 문자열의 인덱스를 역순으로 재배열한다.