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 |