🎯 목표 : StringBuffer Class의 메소드와 활용법 이해
📒 StringBuffer
❗특징
- 변경 가능한 값을 가진다.
- 버퍼 문자열 배열의 길이는 기본값 16이다.
- 생성자를 통해 배열의 기본값을 변경할수 있다.
- equals()가 오버라이딩 되어있지 않아 equals() 메소드로 문자열을 비교하게되면 주소값이 비교된다.
- equals()메소드로 문자열 값을 비교하기 위해서는 String로 형변환을 해야된다.
📌 선언과 기본값 예제
public class ClassStringBuffer {
public static void main(String[] args) {
StringBuffer a = new StringBuffer("abc");
a.append("123");
StringBuffer b = a.append("def"); // a의 문자열 뒤에 def를 추가한다.
System.out.println(a); // 모든 append 메소드 실행후 지정된 값을 참조하여 반환
System.out.println(b);
StringBuffer c = new StringBuffer(); // "" 빈문자열로 선언가능
StringBuffer d = new StringBuffer("abc");
c.append("123");
System.out.println(c.capacity()); // 문자열을 추가하더라도 기본길이 16을 가진다
System.out.println(d.capacity()); // 인스턴스 생성시 추가한 문자 배열의 길이 + 기본 배열 길이 16을 가진다
System.out.println(d.length()); // 문자열의 길이
}
}
// 출력값
// abc123def
// abc123def
// 16
// 19
// 3
- append() 메소드를 이용하여 StringBuffer 객체가 선언된 문자열의 뒤에 추가할수 있다.
- 기존 참조변수 a를 새로운 값을 넣어 참조변수 b로 재정의를 하면, 기존 참조변수 a도 새로운 값이 반영되어 반환한다.
- capacity() 메소드를 이용하여 StringBuffer 인스턴스의 길이를 알수 있다.
- 빈 문자열로 인스턴스를 생성하게되면 배열 길이의 기본값 16을 가진다.
- 인스턴스 생성시 문자열을 정의하여 생성하게되면, 생성시 정의한 문자 배열의 길이 + 배열 길이의 기본값 16을 가진다.
- 배열길이의 기본값은 해당 객체에 담을수 있는 문자 수를 말한다. 즉 16개의 문자를 담을수 있다.
- 문자열의 길이값을 출력하는 length() 메소드를 이용하여 출력값을 보면 인스턴스 b의 문자열 길이는 abc = 3 이라는 것을 알수있다.
👉 delete()
- 문자열의 특정 부분을 제거
StringBuffer t = new StringBuffer("123456789");
t.delete(4,6);
t.deleteCharAt(1);
System.out.println(t);
t = 1234789
👉 insert()
- 문자열의 지정된 인덱스 위치에 삽입
StringBuffer a = new StringBuffer("123456");
a.insert(3, "a");
System.out.println(a);
a = 123a456'Language > JAVA' 카테고리의 다른 글
| Java Interface List (0) | 2022.08.27 |
|---|---|
| Java Collections Framework (0) | 2022.08.27 |
| Java 문자열과 기본형 형변환 (0) | 2022.08.26 |
| Java String Class (0) | 2022.08.26 |
| Java 내부클래스와 익명클래스 - OOP (0) | 2022.08.26 |