Java/Java

[Java] StringBuilder 클래스와 StringBuffer 클래스

기록하는_사람 2022. 10. 14. 12:11

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 인스턴스 생성 및 반환하는 메소드.