☕ 자바 JAVA/☕ 클래스와 함수 Class & Method

[JAVA]StringBuffer클래스와 메서드

뉴이 NUEY 2024. 11. 9. 02:14
반응형

 

StringBuffer란?
문자열을 연결할 때 사용하는 클래스.

기본 선언 방식


+ 더하기 연산자와의 차이

+ 연산자를 사용했을 때와 StringBuffer를 사용했을 경우의 차이.

  • 기능상으로는 "abc" + "def" = "abcdef"와 동일하게 작용합니다.
  • + 더하기 연산자보다 StringBuffer가 더 성능적으로 우수합니다.
    이유 : 2024.11.06 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]String 특징
  • StringBuffer는 클래스이기 때문에 인스턴스를 만들어 사용합니다.
  • 여기에 .append()를 이용해 문자열을 더합니다.
  • 출력시에는 StringBuffer → String 타입 변환이 필요합니다.
※ String으로 형변환을 해야하기 때문에 구분을 위해 변수명 끝에 보통 sb가 붙습니다.
ex) 임시메모라면 tempMemoSb 이런식으로.

생성자

  • 보통은 1번으로 많이 사용한다.
  • 하지만 2번처럼 지정된 개수의 문자를 담을 수 있는 생성자가 더 좋다.
  • 3번처럼 문자열이 이미 있는 채로 생성할 수도 있다.

StringBuffer의 methods

append()

  • append(Object)
    • 모든 타입을 사용할 수 있다.
    • StringBuffer를 반환하다.

capacity()

  • capacity()
    • 실제 크기를 알 수 있다.
    • length()는 StringBuffer에 담긴 문자열의 길이를 반환한다.
StringBuffer의 기본크기는 16이다.
문자열이 16이상으로 늘어나면 알아서 크기를 넉넉하게 늘린다.
그래서 크기를 지정해서 생성자를 만드는 게 좋다는 것.

 

  • charAt(int inext)
    • 문자열의 index위치의 char를 반환한다.
    • String의 charAt()과 동일하다.

  • delete(start, end)
    • from ~ end-1 index 범위까지를 지운다.
    • 지운공간은 뒤의 문자열로 채워진다.
    • 문자하나만 제거할 때는 deleteCharAt()을 사용한다.

  • insert(int indext, 추가할 내용)
    • 원하는 위치에 내용을 추가할 수 있다.

  • replace(start, end, 변경할 내용)
    • start~end 인덱스까지 원하는 위치의 내용을 변경한다.

  • reverse()
    • 문자열을 뒤집는다.

  • setLength(숫자)
    • 문자열보다 작으면 그 범위까지 줄어들고
    • 범위가 더 넓으면 빈 문자열 " "이 길이만큼 추가된다.

  • subString(int start)
    subString(int start, int end)
    • 일부 위치를 잘라 String으로 반환한다.
    • String의 subString과 동일한 기능이다.

참조 : https://youtu.be/MbxD2I2dyx0?si=lluOL4kellurI6NP

 

반응형