1. StringBuffer 클래스
1) String 처럼 문자형 배열(char[])을 내부적으로 가지고 있다.
2) String과 다르게 내용을 변경할 수 있다.(추가해도 해당 주소에서 추가를 한다.)
3) 배열은 길이 변경이 불가능하다. 공간이 부족하면 새로운 배열을 생성해야 한다.
4) StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야 한다. 만약 별도의 크기를 지정하지 않으면 길이가 16으로 저장된다.
5) append()는 지정된 내용을 StringBuffer에 추가 후 StringBuffer의 참조를 반환한다.
6) StringBuffer는 equals()가 오버라이딩 되어 있지 않다.(주소 비교가 안 된다.)
7) 따라서 StringBuffer를 String으로 변환 후 equals()를 사용해야 한다.
2. StringBuffer의 생성자와 메서드
1) StringBuffer() : 생성자이며, 16문자를 담을 수 있는 인스턴스를 생성한다.
2) StringBuffer(int length) : 생성자이며, 지정된 개수를 담을 수 있는 인스턴스를 생성한다. StringBuffer 생성 시 이걸로 쓴다.
3) StringBuffer(String str) : 생성자이며, 16문자를 담울 수 있는 인스턴스를 생성한다.
4) StringBuffer append(boolean b) : 매개변수로 입력된 값을 문자열로 변환하여 StringBuffer 인스턴스가 저장하고 있는 문자열 뒤에 붙인다. append()는 오버라이딩 메서드이며, boolean b의 매개변수는 char c, char[] str, double d, float f, int i, long l, Object obj, String str이 들어올 수 있다.
5) int capacity() : StringBuffer 인스턴스의 버퍼크기를 알려준다. length()는 버퍼에 담긴 문자열의 길이를 알려준다.
6) char charAt(int index) : 지정된 위치(index)에 있는 문자를 반환한다.
7) StringBuffer delete(int start, int end) : 시작위치부터 끝 위치 사이에 있는 문자를 제거한다. 단, 끝 위치의 문자는 삭제되지 않는다.
8) StringBuffer deleteCharAt(int start) : 지정된 위치의 문자를 제거한다.
9) StringBuffer insert(int pos, boolean b) : 매개변수로 입력된 값을 지정한 위치(pos)에 추가한다. insert()는 오버라이딩 메서드이며, boolean b의 매개변수는 char c, char[] str, double d, float f, int i, long l, Object obj, String str이 들어올 수 있다.
10) int length() : StringBuffer 인스턴스에 저장되어 있는 문자열의 길이를 반환한다.
11) StringBuffer replace(int start, int end, String str) : 지정된 범위의 문자들을 주어진 문자열로 바꾼다. 단, 끝 위치의 문자는 삭제되지 않는다.
12) StringBuffer reverse() : StringBuffer 인스턴스에 저장되어 있는 문자열의 순서를 거꾸로 나열한다.
13) void setCharAt(int index, char ch) : 지정된 위치의 문자를 주어진 문자(ch)로 바꾼다.
14) void setLength(int newLength) : 지정된 길이로 문자열의 길이를 변경한다. 길이를 늘리는 경우에 나머지 빈 공간을 널문자로 채운다.
15) String toString() : StringBuffer 인스턴스의 문자열을 String으로 바꾼다.
16) String subString(int start) : 지정된 범위 내의 문자열을 String으로 뽑아서 반환한다. 시작위치를 지정하면 시작위치부터 문자열 끝까지 뽑아서 반환한다.
17) String subString(int start, int end) : 지정된 범위 내의 문자열을 String으로 뽑아서 반환한다. 시작위치부터 끝 위치까지의 문자를 뽑아서 반환한다.
'프로그래밍 > Java' 카테고리의 다른 글
45. Java 래퍼(wrapper)클래스, Number 클래스, 문자열 -> 숫자, 오토박싱, 언박싱 (0) | 2023.03.01 |
---|---|
44. Java StringBuilder, Math클래스 (0) | 2023.02.28 |
42. Java String 클래스 (0) | 2023.02.26 |
41. Java Object Class, equals() (0) | 2023.02.24 |
40. Java hashCode(), toString() (0) | 2023.02.24 |
댓글