Archives
Recent Posts
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[8일차 Java] StringBuffer 본문

Computer/Java

[8일차 Java] StringBuffer

Wise-99 2023. 5. 7. 00:07

 

 

출처 : 안드로이드 앱스쿨 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