JAVA
StringBuffer 클래스
jiyoon12
2025. 4. 26. 14:55
- String 클래스의 불변성으로 인해 문자열을 자주 변경할 때 메모리 낭비가 발생한다면, 이를 해결하기 위해 사용한다.
- 내부적으로 가변적인 char[] 배열을 사용하여 문자열을 변견한다.
- 동기화(synchronization)을 지원하므로 멀티스레드 환경에서 안전하다.
- 멀티스레드 환경(예: 백엔드 서버)에서 사용을 권장한다.
package _string;
public class StringBufferTest1 {
// StringBuffer <-- 클래스를 이야기 하기 위해서 String 특징 ...
public static void main(String[] args) {
String str1 = new String("Hello");
String str2 = new String("World");
// 새로 배우는
StringBuffer buffer1 = new StringBuffer(str1);
System.out.println("수정 전 : " + System.identityHashCode(buffer1));
// buffer1 에 값을 수정해 보자. 문자열 변경
buffer1.append(str2);
buffer1.append("111");
buffer1.append("222");
System.out.println("수정 후 : " + System.identityHashCode(buffer1));
} // end of main
}
package _string;
public class StringBufferTest1 {
//StringBuffer <-- 클레스를 이해하기 위해서
public static void main(String[] args) {
String str1 = new String("Hello");
String str2 = new String("World");
// 새로 배우는
StringBuffer buffer1 = new StringBuffer(str1);
System.out.println("수정 전 : " + System.identityHashCode(buffer1));
// Buffer1 에 값을 수정해보자
buffer1.append(str2);
buffer1.append("111");
buffer1.append("222");
System.out.println("수정 후 : " + System.identityHashCode(buffer1));
// 이전 버전 hashCode(); 해당 객체의 유일성 보장하는 정수 값
// API 8 버전에서는 buffer1.toString() 해야 값을 확인 할 수 있다.
//StringBuffer 데이터 타입을 String 으로 형 변환 하려면 .toString()호출하면 된다.
System.out.println(buffer1.toString());
String result = buffer1.toString();
}
}