StringBuffer class

김설영·2022년 4월 9일
0
  • 문자열을 저장하기 위한 클래스

  • String과 같이, 문자형 배열(char[])을 내부적으로 갖고 있음

  • String과 달리, 내용을 변경할 수 있음 (Mutable)

생성자 및 내용변경

  • 배열 : 길이 변경 불가. 공간이 부족할 시, 새로운 배열을 생성해야 함.

  • StringBuffer는 저장할 문자열 길이를 고려하여, 적절한 크기로 생성해야 함.

  • 반환 타입이 StringBuffer임.

  • 주의! StringBuffer는 equals()가 오버라이딩 되어있지 않음! (주소 비교)
    그래서, String으로 변환한 후에 equals로 비교해야 한다.

public StringBuffer(int length) {	// 적절한 길이 지정
	value = new char[length];
    shared = false;
}

public StringBuffer(){
	this(16);	// 크기 지정 안할 시, 길이 기본값 16
}

public StringBuffer(String str) {
	this(str.length() + 16);	// 지정한 문자열의 길이보다 16만큼 더 길게 버퍼 생성
    append(str);
}

// 내용 변경 가능
StringBuffer sb = new StringBuffer("abc");
sb.append("123")	// sb 내용 뒤에 "123" 추가 후 StringBuffer 참조 반환 

// delete(), insert() 가 있음
profile
블로그 이동하였습니당! -> https://kimsy8979.tistory.com/

0개의 댓글