■ 수정하면서 유지해야 할 문자열이 있다면
StringBuilder 클래스에 담아 관리하는 것이 효율적이다
StringBuilder stbuf = new StringBuilder("123");
stbuf.append(45678); // 문자열 덧붙이기
stbuf.delete(0, 2); // 문자열 일부 삭제
stbuf.replace(0, 3, "AB"); // 문자열 일부 교체
stbuf.reverse(); // 문자열 내용 뒤집기
String sub = stbuf.substring(2, 4); // 인덱스 2~3 의 문자열만 반환하면 sub에 담기
■ 그리고 StringBuilder 인스턴스 내부에는 문자열 관리를 위한 메모리 공간이 존재하는데,
인스턴스 생성 과정에서 이 공간의 크기를 지정할 수 있다.
예시 >
StringBuilder stbuf = new StringBuilder(64);
// 생성자의 인자로 전달된 숫자의 크기만큼 문자를 저장할 공간 마련
■ StringBuilder 클래스에 정의된 대다수의 반환형은 StringBuilder이다.
예시>
StringBuilder st1 = new StringBuilder("123");
StringBuilder st2 = st1.append(45678);
st2.delete(0,5); // 인덱스 0~4까지의 문자 삭제
위 예시에서 st1과 st2의 참조 값은 같다. 즉 st1 == st2 가 true 이다.
결국 StringBuilder st2 = st1.append(45678); 에서 st1의 참조 값이 반환되는 것이다.
'Language > Java' 카테고리의 다른 글
배열 2 (0) | 2023.02.08 |
---|---|
배열 (0) | 2023.02.05 |
메소드 오버로딩과 String 클래스 (0) | 2023.02.04 |
클래스 변수와 클래스 메소드 (0) | 2023.02.03 |
클래스와 인스턴스 (0) | 2023.02.02 |