StringBuffer 클래스

0

StringBuffer 클래스

  • String 처럼 문자형 배열(char[])을 내부적으로 가지고 있다.
public final class StringBuffer implements java.io.Serializable {
	private char[] value;  // 여러 문자 저장가능
}
  • 그러나, String과 달리 내용을 변경할 수 있다.(mutable)

    ↳ append()는 지정된 내용을 StringBuffer에 추가 후, StringBuffer의 참조를 반환한다.

    ↳ 본인의 주소 반환

StringBuffer의 생성자

  • 배열은 길이 변경불가. 공간이 부족하면 새로운 배열 생성해야함
    1) 새로운 배열 생성
    2) 내용 복사
    3) 참조 변경
  • StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야함

StringBuffer의 비교

  • StringBuffer는 equals()가 오버라이딩 되어있지 않다.(주소비교 한다)
    ↳ String은 오버라이딩 되어있어서 내용비교함
  • StringBuffer를 String으로 변환 후에 equals()로 비교해야 한다.
    String s = sb.toString();  // sb를 String으로 변환
    String s2 = sb2.toString();
    System.out.println(s.equals(s2)); // true
profile
백엔드를 공부하고 있습니다.

0개의 댓글