Java - StringBuffer 클래스

춤추는개발자·2022년 11월 28일
0

Java 정리

목록 보기
34/59

StringBuffer 클래스

  • String처럼 문자형 배열을 내부적으로 가지고 있다.
  • 그러나 String 클래스와 다르게 변경 가능하다.
  • append() 메서드는 지정된 내용을 StringBuffer에 추가 후, StringBuffer의 자기 자신의 참조를 반환
StringBuffer s = new StringBuffer("hello");
s.append("123");
s.append("456");

append() 메서드는 자기 자신의 참조 변수를 반환하기 때문에 위에 두줄의 코드를
s.append("123").append("456");
로 작성할 수 있다.
  • StringBuffer 클래스의 equlas() 메서드는 오버라이딩되어 있지 않다.
  • StringBuffer을 String으로 변환 후에 equals()로 비교해야 문자열 값을 비교한다. toString() 메서드 사용

StringBuffer 생성자

  • 배열은 길이 변경이 불가능하다. 공간이 부족하다면 새로운 배열을 생성 해야 한다.
  • 새로운 배열 생성 과정
    1. 새로운 배열을 생성
    2. 기존의 내용을 새로운 배열에 복사
    3. 기존의 참조변수가 새로운 배열을 가리키게 된다.
  • StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야 합니다.

StringBuffer클래스 메서드

  • append(모든 타입) : 모든 타입을 매개변수로 받아 문자열로 변환하여 기존의 문자열 끝에 붙인다. 접미사는 붙이지 않는다.(f,L 등)
  • StringBuffer delete(int start, int end) : start에서 end까지 범위의 문자열을 삭제, end위치 문자는 제외. 삭제하면 빈자리는 뒤 문자열이 떙겨짐.
  • StringBuffer deleteCharAt(int index) : index 위치의 문자 제거, 삭제하면 빈자리는 뒤 문자열이 땡겨짐.
  • StringBuffer insert(int 위치, 모든 타입) : 모든 타입을 매개변수로 받아 문자열로 변환하여 입력되는 위치에 삽입
  • int capacity() : 버퍼의 크기 반환 (int형)
  • int length() : 실제로 버퍼에 저장된 문자열의 길이를 반환 (int형)
  • char charAt(int index) : 입력되는 매개변수 index 위치의 문자를 반환
  • StringBuffer replace(int start, int end, String str) :
    start부터 end까지의 문자열을 입력되는 매개변수 문자열로 치환, end위치 문자는 제외
  • StringBuffer reverse() : 버퍼에 저장되어 있는 문자열을 거꾸로 뒤집는다.
  • void serCharAt(int index, char c) : 입력 매개변수의 c 문자를 index 위치에 있는 문자와 바꾼다.
  • void setLength(int length) : 버퍼의 길이를 변경한다. 이미 저장되어 있는 문자열이 있다면 length의 길이 만큼만 저장된다. 만약 저장되어 있는 문자열 길이보다 큰 값을 입력하면 나머지는 널문자로 저장된다. trimg() 메서드 사용해서 양 끝의 빈 공백을 제거.
  • String toString() : 버퍼에 저장된 문자열을 String으로 반환
  • String substring(int start) : start 위치부터 끝까지 반환
  • String substring(int start, int end) : start 위치부터 end위치 전까지 반환

0개의 댓글