0%

StringBuffer

StringBuffer클래스

  • String처럼 문자형 배열(char[])을 내부적으로 가지고 있음
  • String은 불변이지만 StringBuffer은 변경가능
  • 배열은 길이 변경불가. 공간이 부족하면 새로운 배열을 생성해야 함
  • stringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야 함
1
StringBuffer sb = new StringBuffer("aaa")
2
sb.append("123").append("ZZ");
3
4
sb = "aaa123ZZ"
  • StringBuffer는 equals()가 오버라이딩되어있지 않아서 String으로 변환 후 equals()로 비교해야 함

StringBuffer의 생성자와 메서드

  • StringBuffer()
    • 16문자를 담을 수 있는 버퍼를 가진 StringBuffer인스턴스를 생성
  • StringBuffer(int length)
    • 지정된 개수의 문자를 담을 수 있는 버퍼를 가진 StringBuffer인스턴스를 생성
  • StringBuffer(String str)
    • 지정된 문자열 값을 갖는 StringBuffer인스턴스를 생성
  • StringBuffer delete(int start, int end)
    • 시작위치부터 끝위치 사이에 있는 문자를 제거
  • StringBuffer deleteCharAt(int index)
    • 지정된 위치의 문자를 제거
  • StringBuffer insert
    • 두번째 매개변수로 받은 값을 문자열로 변환하여 지정된 위치에 추가. pos는 0부터 시작
  • int length()
    • StringBuffer인스턴스에 저장되어 있는 문자열의 길이를 반환
  • StringBuffer replace(int start, int end, string str)
    • 지정된 범위의 문자들을 주어진 문자열로 바꿈. end위치의 문자는 범위에 포함 되지 않음
  • StringBuffer reverse()
    • StringBuffer인스턴스에 저장되어 있는 문자열의 순서를 거꾸로 나열
  • void setCharAt(int index, char ch)
    • 지정된 위치의 문자를 주어진 문자로 바꿈
  • void setLength(int newLength)
    • 지정된 길이의 문자열의 길이를 변경. 길이를 늘리는 경우에 나머지 빈 공간을 널문자(‘\u0000’)로 채움
  • String toString()
    • StringBuffer인스턴스의 문자열을 String으로 반환
  • String substring(int start, int end)
    • 지정된 범위내의 문자열을 String으로 뽑아서 반환함. 시작위치만 지정하면 시작위치부터 문자열 끝까지 뽑아서 반환

image