Java - StringBuffer

이유석·2022년 10월 20일
0
post-thumbnail

String 클래스는 불변객체 입니다.

불변 객체란 객체가 생성된 후 상태가 변하지 않고 계속 유지되는 개체를 말합니다.
String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수 는 없습니다.

StringBuffer

StringBuffer 클래스 공식 문서 : https://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html

  • StringBuffer 클래스는 가변객체 입니다.

아무 값도 가지고 있지 않은 StringBuffer 객체를 생성 후, 값을 추가

StringBuffer sb = new StringBuffer();

sb.append("hello");
sb.append(" ");
sb.append("world");

// StringBuffer에 추가된 값을 toString() 메서드를 이용하여 String 으로 반환
String str = sb.toString();
System.out.println(str);

StringBuffer가 가지고 있는 메서드들은 대부분 자기 자신, this을 반환하는 메서드 입니다.

StringBuffer sb2 = new StringBuffer();
StringBuffer sb3 = sb2.append("hello");

if(sb2 == sb3) {
	System.out.pringln("sb2 == sb3");
}

// 출력 결과 : sb == sb3

StringBuffer 클래스는 메서드 체이닝으로 사용할 수 있도록 만들어져 있다.

메서드 체이닝 : 자기 자신의 메서드를 호출하여 자기 자신의 값을 바꿔나가는 것

String str2 = new StringBuffer().append("hello").append(" ").append("world").toString();
System.out.println(str2);

StrigBuffer는 append 메서드 외에도 길이를 구하거나, 자르거나 등의 다양한 메서드들을 가지고 있습니다.

profile
https://github.com/yuseogi0218

0개의 댓글