[Java] API - StringBuffer, StringBuilder

naneun·2022년 1월 8일
0

Java

목록 보기
1/7
post-thumbnail

* 본 내용은 학습하면서 정리하는 글입니다. 계속 업데이트됩니다.

2020/01/08 - 최초 작성

👤 같은 점

  • 내부 버퍼(Buffer: 데이터를 임시로 저장하는 메모리)에 문자열을 저장하여 조작한다. 즉, 가변 클래스(mutable class)이다.

    • String은 불변 클래스(immutable class)이므로 문자열을 조작할 수 없다.

👥 다른 점

  • 'StringBuffer' 는 동기화가 적용되어 있어 멀티 스레드 환경에서 안전하다.
  • 'StringBuilder' 는 동기화가 적용되어 있지 않다.

StringBuffer, StringBuilder

new StringBuffer(String str)

new StringBuilder(String str)

// 주어진 매개값을 버퍼의 초기값으로 저장한다.

StringBuilder 객체는 버퍼 내에서 문자 추가, 삽입, 삭제 등의 작업을 수행한다.

메소드설명
int capacity()현재 버퍼 크기를 반환
append(...)문자열 끝에 주어진 매개값을 추가
insert(int offset, ...)문자열 중간에 주어진 매개값을 추가
delete(int start, int end)문자열의 일부분을 삭제
deleteCharAt(int index)문자열에서 주어진 index의 문자를 삭제
replace(int start, int end, String str)문자열의 일부분을 다른 문자열로 대치
reverse()문자열의 순서를 뒤바꿈
setCharAt(int index, char ch)문자열에서 주어진 index의 문자를 다른 문자로 대치
StringBuffer append(boolean b)
StringBuffer append(char c)
StringBuffer append(char[] str)
StringBuffer append(CharSequence s)
StringBuffer append(double d)
StringBuffer append(float f)
StringBuffer append(int i)
StringBuffer append(long lng)
StringBuffer append(Object obj)
StringBuffer append(String str)
StringBuffer append(StringBuffer sb)

// 다양한 타입으로 오버로딩되어 있어 대부분의 타입을 문열로 추가 삭제할 수 있다.

reference
https://docs.oracle.com/javase/8/docs/api/
http://www.tcpschool.com/java/java_api_stringBuffer

profile
riako

0개의 댓글