StringBuffer
포스트
취소

StringBuffer

특징

  • StringBuffer 클래스의 인스턴스는 그 값을 변경할 수도 있고, 추가할 수도 있다.
  • StringBuffer 클래스는 내부적으로 버퍼(buffer)라고 하는 독립적인 공간을 가진다.
  • 버퍼 크기의 기본값은 16개의 문자를 저장할 수 있는 크기이며, 생성자를 통해 그 크기를 별도로 설정할 수도 있다.
  • 인스턴스 생성 시 사용자가 설정한 크기보다 언제나 16개의 문자를 더 저장할 수 있도록 여유 있는 크기로 생성된다.
  • StringBuffer 인스턴스를 사용하면 문자열을 바로 추가할 수 있으므로, 공간의 낭비도 없으며 속도도 매우 빨라진다.
  • 메소드를 실행하면 원본 문자열도 변경된다.

append(Strings) 메소드

  • 인수로 전달된 값을 문자열로 변환한 후, 해당 문자열의 마지막에 추가한다.
  • String 클래스의 concat() 메소드와 같은 결과를 반환하지만 내부적인 처리 속도가 훨씬 빠르다.
  • 사용 예시
StringBuffer str = new StringBuffer("앞");
System.out.println(str.append("뒤")); //출력 : 앞뒤

capacity() 메소드

  • StringBuffer 인스턴스의 현재 버퍼 크기를 반환한다.
  • 사용 예시
StringBuffer str01 = new StringBuffer();
StringBuffer str02 = new StringBuffer("Java");

System.out.println(str01.capacity()); //출력 : 16
System.out.println(str02.capacity()); //출력 : 20

delete(String s) 메소드

  • 전달된 인덱스에 해당하는 부분 문자열을 해당 문자열에서 제거한다.
  • 특정 위치의 문자 한 개만을 제거하고 싶을 때는 deleteCharAt() 메소드를 사용하면 된다.
  • 사용 예시
StringBuffer str = new StringBuffer("Java Oracle");
System.out.println("원본 문자열 : " + str);

System.out.println(str.delete(4, 8));
System.out.println(str.deleteCharAt(1));
System.out.println("deleteCharAt() 메소드 호출 후 원본 문자열 : " + str);

insert(int offset, String s) 메소드

  • 인수로 전달된 값을 문자열로 변환한 후 해당 문자열의 지정된 인덱스 위치에 추가한다.
  • 전달된 인덱스가 해당 문자열의 길이와 같으면 append() 메소드와 같은 결과를 반환한다.
  • 사용 예시
StringBuffer str = new StringBuffer("Java");
System.out.println("원본 문자열 : " + str); //출력 : Java
System.out.println(str.insert(4, "Script")); //출력 : JavaScript
System.out.println("insert() 메소드 호출 후 원본 문자열 : " + str); //출력 : JavaScript

reverse()

  • 해당 문자열의 인덱스를 역순으로 재배열한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.