반응형
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(Object)
- 모든 타입을 사용할 수 있다.
- StringBuffer를 반환하다.
- 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
반응형
'☕ 자바 JAVA > ☕ 클래스와 함수 Class & Method' 카테고리의 다른 글
[JAVA]날짜와 시간 (0) | 2024.11.13 |
---|---|
[JAVA]StringBuilder & Math 클래스 (0) | 2024.11.10 |
[JAVA]String.join() & 문자열을 다른 타입으로 변환 (0) | 2024.11.08 |
[JAVA]String 생성자와 메서드들 (0) | 2024.11.08 |
[JAVA]hashCode() (2) | 2024.11.05 |