본문 바로가기

Java

Java StringBuilder / StringBuffer 클래스

 

1. StringBuilder

 

 String 처럼 문자형 배열(char[])을 내부적으로 가지고 있음

String과 달리 내용 변경 가능(mutable);

멀티 스레드로 작성된 프로그램이 아닌 경우 StringBuilder를 사용 -> 싱글스레드에 사용

SpringBuffer와 완전히 똑같은 기능을 가지고있음

 

 

 

 

 

2. StringBuffer

 

- StringBuffer는 멀티쓰레드에 안전하도록 동기화 되어 있음, 멀티쓰레드는 성능을 감소시킴

- String 처럼 문자형 배열(char[])을 내부적으로 가지고 있음

- String과 달리 내용 변경 가능(mutable);

- 배열은 길이 변경 불가, 공간이 부족하면 새로운 배열 생성하고 복사하는 형식이기 때문에 StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성 필요

- equals()가 오버라이딩되어있지 않음 (주소비교), 비교를 위해서는 String으로 변환 후 equals()로 비교

- 메소드

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/StringBuffer.html

 

StringBuffer (Java SE 11 & JDK 11 )

Inserts the string into this character sequence. The characters of the String argument are inserted, in order, into this sequence at the indicated offset, moving up any characters originally above that position and increasing the length of this sequence by

docs.oracle.com

 

 

'Java' 카테고리의 다른 글

Java 래퍼(wrapper) 클래스, 오토박싱과 언박싱  (0) 2022.12.30
Java Math 클래스  (0) 2022.12.30
Java String 클래스  (0) 2022.12.30
Java Object 클래스  (0) 2022.12.29
Java 예외처리(exception handeling)2  (0) 2022.12.29