자바의 정석 - StringBuffer클래스의 메서드

Yohan·2024년 2월 5일
0

StringBuffer의 생성자와 메서드

  • StringBuffer()
    • 16문자를 담을 수 있는 버퍼를 가진 StringBuffer 인스턴스 생성
StringBuffer sb = new StringBuffer();

// sb = ""
  • StringBuffer(int length)
    • 지정된 개수의 문자를 담을 수 있는 버퍼를 가진 StringBuffer 인스턴스 생성
StringBuffer sb = new StringBuffer(10);

// sb = ""
  • StringBuffer(String str)
    • 지정된 문자열 값(str)을 갖는 StringBuffer 인스턴스 생성
StringBuffer sb = new StringBuffer("Hi"); // Hi 2칸 + 16

// sb = "Hi"
  • StringBuffer append(boolean b)
  • StringBuffer append(char c)
  • StringBuffer append(char[ ] str)
  • StringBuffer append(double d)
  • StringBuffer append(float f)
  • StringBuffer append(int i)
  • StringBuffer append(long l)
  • StringBuffer append(Object obj)
  • StringBuffer append(String str)
    • 매개변수로 입력된 값을 문자열로 변환하여 StringBuffer인스턴스가 저장하고 있는 문자열의 뒤에 덧붙인다.
StringBuffer sb = new StringBuffer("abc");
StringBuffer sb2 = sb.append(true);
sb.append('d').append(10.0);

// sb = "abctrue10.0"
// sb2 = "abctrue10.0"
  • int capacity()
    • StringBuffer인스턴스의 버퍼크기를 알려준다.
    • length()는 버퍼에 담긴 문자열의 크기를 알려준다.
StringBuffer sb = new StringBuffer(100);
sb.append("abcd");
int bufferSize = sb.capacity();
int stringSize = sb.length();

// bufferSize = 100
// stringSize = 4
  • char charAt(int index)
    • 지정된 위치 (index)에 있는 문자를 반환
StringBuffer sb = new StringBuffer("abc");
char c = sb.charAt(2);

// c = 'c'
  • StringBuffer delete(int start, int end)
    • 시작위치부터 끝위치 사이에 있는 문자 제거 (끝 위치의 문자는 제외)
StringBuffer sb = new StringBuffer("0123456");
StringBuffer sb2 = sb.delete(3,6);

sb = "0126"
sb2 = "0126"
  • StringBuffer deleteCharAt(int index)
    • 지정된 위치의 문자 제거
StringBuffer sb = new StringBuffer("0123456");
sb.deleteCharAt(3);

sb = "012456"
  • StringBuffer insert(int pos, boolean b)
  • StringBuffer insert(int pos, char c)
  • StringBuffer insert(int pos, char[ ] str)
  • StringBuffer insert(int pos, double d)
  • StringBuffer insert(int pos, float f)
  • StringBuffer insert(int pos, int i)
  • StringBuffer insert(int pos, long l)
  • StringBuffer insert(int pos, Object obj)
  • StringBuffer insert(int pos, String str)
    • 두 번째 매개변수로 받은 값을 문자열로 변환화여 지정된 위치에 추가한다. pos는 0부터 시작
StringBuffer sb = new StringBuffer("0123456");
sb.insert(4,'.');

// sb = 0123.456
  • int length()
    • StringBuffer인스턴스에 저장되어 있는 문자열의 길이를 반환
sb.length();
  • StringBuffer replace(int start, int end, String str)
    • 지정된 범위의 문자들을 주어진 문자열로 바꾼다.
StringBuffer sb = new StringBuffer("0123456");
sb.replace(3, 6, "AB");

// sb = "012AB6"
  • StringBuffer reverse()
    • StringBuffer인스턴스에 저장되어 있는 문자열의 순서를 거꾸로 나열한다.
sb.reverse();
  • void setCharAt(int index, char ch)
    • 지정된 위치의 문자를 주어진 문자(ch)로 바꾼다.
StringBuffer sb = new StringBuffer("0123456");
sb.setCharAt(5, 'o');

// sb = "01234o6"
  • void setLength(int newLength)
    • 지정된 길이로 문자열의 길이를 변경한다. 길이를 늘리는 경우에 나머지 빈공간을 널문자로 채운다.
StringBuffer sb = new StringBuffer("0123456");
sb.setLength(5);

StringBuffer sb2 = new StringBuffer("0123456");
sb2.setLength(10);
String str = sb2.toString().trim();

// sb = "01234"
// sb2 = "0123456   "
// str = "0123456"
  • String toString()
    • StringBuffer인스턴스의 문자열을 String으로 반환
StringBuffer sb = new StringBuffer("0123456");
String str = sb.toString();

// str = "0123456"
  • String substring(int start)
  • String substring(int start, int end)
    • 지정된 범위 내의 문자열을 String으로 뽑아서 반환한다. 시작위치만 지정하면 시작위치부터 끝까지 뽑아서 반환
StringBuffer sb = new StringBuffer("0123456");
String str = sb.substring(3);
String str2 = sb.substring(3, 5);

// str = "3456"
// str2 = "34"
profile
백엔드 개발자

0개의 댓글