안드로이드 개발자의 창고
[8일차 Java] StringBuffer 본문
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT
📖 StringBuffer란?
- StringBuffer : 관리하는 문자열에 대한 직접적인 조작을 할 수 있다.
- 메모리를 효율적으로 사용하기 위해 자주 변화되는 문자열은 StringBuffer로 관리한다.
- String이 관리하는 문자열은 변경이 불가능하다.
- 이에, 추가 / 반환 / 삭제 등의 작업을 하게 되면 새로운 문자열이 계속 생성된다.
📖 예제 코드
public class MainClass {
public static void main(String[] args) {
// StringBuffer 생성
StringBuffer buffer1 = new StringBuffer();
StringBuffer buffer2 = new StringBuffer("문자열");
// 문자열 추가
buffer1.append(100);
buffer1.append(11.11);
buffer1.append("문자열");
System.out.println(buffer1); // 10011.11문자열
// StringBuffer -> String
String str1 = buffer1.toString();
System.out.println(str1); // 10011.11문자열
// 삽입
buffer1.insert(2, 555);
buffer1.insert(8, "문자열");
System.out.println(buffer1); // 10555011문자열.11문자열
// 변경
// 2 ~ 5 - 1까지를 동해물과 백두산으로 바꾼다.
buffer1.replace(2, 5, "동해물과 백두산");
System.out.println(buffer1); // 10동해물과 백두산011문자열.11문자열
// 삭제
// 2 ~ 10 - 1까지 삭제한다.
buffer1.delete(2, 10);
System.out.println(buffer1); // 10011문자열.11문자열
}
}
✔️ 코드 해석
- buffer1.append(100);
- StringBuffer로 생성한 객체(buffer1)에 값을 추가하기 위해 append()를 사용한다.
- String str1 = buffer1.toString();
- buffer1의 자료형을 String으로 변환하기 위해 toString()을 사용한다.
- buffer1.insert(2, 555);
- buffer1에 값을 삽입하기 위해 insert()를 사용한다.
- buffer1.insert(삽입할 위치, 삽입할 문자열);
- 문자열 위치는 0부터 시작한다.
- 추가하는 문자열의 뒤에 있던 문자열은 뒤로 밀린다.
- buffer1.replace(2, 5, "동해물과 백두산");
- buffer1의 2 ~ 4(5 - 1)의 위치를 "동해물과 백두산"으로 변경한다.
- buffer1.replace(변경 시작 위치, 변경 끝 위치, 변경할 문자열);
- 문자열 위치는 0부터 시작한다.
- 변경이 끝나는 위치(replace에 작성한 끝 위치) - 1 위치만큼만 변경된다.
- buffer1.delete(2, 10);
- buffer1의 2 ~ 9(10 - 1)의 위치를 삭제한다.
- buffer1.delete(삭제 시작 위치, 삭제 끝 위치);
- 문자열 위치는 0부터 시작한다.
- 삭제가 끝나는 위치(delete에 작성한 끝 위치)- 1 위치만큼만 삭제된다.
'Computer > Java' 카테고리의 다른 글
[8일차 Java] Collection / List / Map / Set (0) | 2023.05.07 |
---|---|
[8일차 Java] Date와 Calendar (0) | 2023.05.07 |
[8일차 Java] Wrapper Class (0) | 2023.05.07 |
[8일차 Java] Object (0) | 2023.05.06 |
[8일차 Java] 예외처리(Exception) (0) | 2023.05.06 |