Hello

Java StringBuffer 클래스

by 볼빵빵오춘기

StringBuffer 클래스(문자열을 저장&다루기 위한 클래스)

  • String처럼 문자열 배열(char[ ])을 내부적으로 가지고 있다.
  • But, String과 달리 내용을 변경할 수 있다.(mutable)

 

StringBuffer의 생성자

  • 배열의 길이 변경불가. 공간이 부족하면 새로운 배열 생성해야함.
  • StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야한다.
더보기

※ 위의 이미지에서 16이 된다고 써져있으나 16이 크게 의미있는 숫자는 아니고 지정한 문자열의 길이보다 더 크게 버퍼를 생성한다고 알고있으면 될 것이다.

  • StringBuffer는 String과 달리 내용 변경이 가능하다.
  • append()는 지정된 내용을 StringBuffer에 추가 후, StringBuffer의 참조를 반환

 

StringBuffer의 비교

  • StringBuffer는 equals()가 오버라이딩되어있지 않다.(주소비교)
더보기
StringBuffer sb = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");

System.out.println(sb==sb2); // false
System.out.println(sb.equals(sb2)); // false
  • StringBuffer을 String으로 변환 후에 equals()로 비교해야 한다.
더보기
String s = sb.toString();
String s2 = sb2.toString();

System.out.println(s.equals(s2)); // true

 

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기