본문 바로가기

개발

Java - StringBuffer 클래스

반응형

StringBuffer 클래스
 - String 처럼 문자열 배열(char[])을 내부적으로 가지고 있다. 
 - 그러나, String과 달리 내용을 변경할 수 있다.(mutable)
 - 내부의 배열 길이는 변경 불가, 공간이 부족하면 새로운 배열을 생성해야한다. 
    공간 부족 > 새로운 배열 생성 > 참조 변경
   그래서 적절한 크기로 생성해야한다.
   생성자에 크기를 지정하여 생성할 수 있다.
   크기를 지정하지 않으면 크기는 16이다.
 - append()는 지정된 내용을 StringBuffer에 추가 후 참조를 반환한다.
  StringBuffer sb = new StringBuffer("abc");
  StringBuffer sb32 = sb.append("123");
   System.out.println(sb);
   System.out.println(sb2);  // 두개ㅏ 호출 값이 같다.
 - StringBuffer는 equals 가 오버라이딩 되어 있지 않다. 주소로 비교한다. >> String으로 변환 한 후에 equals()로 비교해야 한다.

메소드
 - StringBuffer()
   StringBuffer(int length)
   StringBuffer(String str)
 - append(boolean b)
    append(char c)
    append(char[] str) ...     append(Object obj) : 문자열 추가 함수 / 자기 자신을 반환
 - int capacity() : 버퍼의 크기(char 배열의 크기)를 알려준다.
 - int length() : 담긴 문자열의 길이를 알려준다.
 - StringBuffer delete(int start, int end) : start부터 end 사이에 있는 문자를 제거 한다. 
 - StringBuffer deleteCharAt(int index) : 지정된 위치의 문자를 제거한다.
 - StringBuffer insert( int pos, boolean b)
    StringBuffer insert( int pos, char c)
    StringBuffer insert( int pos, char[] cArr)
    StringBuffer insert( int pos, String str ) ...    StringBuffer insert( int pos, Object obj) : pos 위치 부터 넣는다. 자기자신 반환
 - StringBuffer replace(int start, int end, String str) : 범위 start ~ end 의 문자를 str로 변경
 - StringBuffer reverse() : 문자열의 순서를 거꾸로 나열
 - void setCharAt(int index, char ch) : 지정된 위치의 문자를 주어진 문자로 바꾼다.
 - void setLength(int newLength) : 지정된 길이로 문자열 길이 변경 빈공간은 널문자로 채운다.
 - String substring(int start) : start 부터 끝까지 
    String substring(int start, int end) : start ~ end 끝까지 

반응형

'개발' 카테고리의 다른 글

Java - 래퍼클래스(wrapper)  (0) 2021.06.06
Java - StringBuilder 클래스 / Math 클래스  (0) 2021.06.06
Java - String 클래스  (0) 2021.06.05
Java - Object 클래스  (0) 2021.06.05
Java - 오류 / 예외 처리하기  (0) 2021.06.05