[Java] StringBuilder 클래스와 StringBuffer 클래스
StringBuilder 클래스
📌 StringBuilder 클래스
: 내부적으로 문자열을 저장하기 위한 메모리 공간을 갖음.
문자 추가, 삭제 가능.
📌 인스턴스 생성 과정에서 메모리 공간 확보.
public StringBuilder() : 16개 문자 저장할 수 있는 메모리 공간 확보.
public StringBulider(int capacity) : capacity개의 문자 저장할 수 있는 메모리 공간 확보.
public StringBuilder(String str) : str + 16개 문자 저장할 수 있는 메모리 공간 확보.
📌 StringBuilder 인스턴스는 메모리 공간을 스스로 관리함.
📌 StringBuffer 클래스
: StringBuilder 클래스 이전에 사용하던 클래스.
StringBuffer는 쓰레드에 안전하지만, StringBuilder는 쓰레드에 안전하지 않음.
멀티 쓰레드 환경 | 속도 | |
StringBuffer 클래스 | 안전하게 동작. | 느림. |
StringBuilder 클래스 | 안전하지 않음. | 빠름. |
StringBuilder 클래스의 메소드
📌 public StringBuilder append( [자료형] [변수명] )
: 기본 자료형 데이터를 문자열 내용에 추가하는 메소드.
📌 public StringBuilder delete(int start, int end)
: 인덱스 start 부터 end 전까지 내용 삭제하는 메소드.
📌 public StringBuilder insert(int offset, String str)
: 인덱스 offset에 str문자열 추가하는 메소드.
📌 public StringBuilder replace(int start, int end, String str)
: 인덱스 start 부터 end 전까지 내용 str로 변경하는 메소드.
📌 public StringBuilder reverse()
: 문자열 내용 뒤집는 메소드.
📌 public StringBuilder substring(int start, int end)
: 인덱스 start 부터 end 전까지 내용을 담은 String 인스턴스 생성 및 반환하는 메소드.
📌 public StringBuilder toString()
: 문자열의 내용을 담은 String 인스턴스 생성 및 반환하는 메소드.