본문 바로가기
Language/Java

StringBuilder 클래스

by Zayne 2023. 2. 4.

■ 수정하면서 유지해야 할 문자열이 있다면

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