BackEnd/Java
[Java] StringBuffer
M00NPANG
2025. 1. 18. 01:26
Java에서 문자열을 조작하기 위한 클래스로, 가변(mutable) 문자열을 다룰 때 사용
StringBuffer 생성
StringBuffer sb = new StringBuffer(); // 빈 StringBuffer 생성
StringBuffer sb2 = new StringBuffer("Hello"); // 초기 값 설정
StringBuffer sb3 = new StringBuffer(50); // 초기 용량 설정
주요 메서드들
- append(String s) :문자열을 끝에 추가
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World");
System.out.println(sb); // Hello World
- insert(int offset, String s) : 특정 위치에 문자열을 삽입
StringBuffer sb = new StringBuffer("Hello");
sb.insert(5, " Java");
System.out.println(sb); // Hello Java
- replace(int start, int end, String s) : 지정된 범위의 문자열을 다른 문자열로 대체
StringBuffer sb = new StringBuffer("Hello World");
sb.replace(6, 11, "Java");
System.out.println(sb); // Hello Java
- delete(int start, int end) : 지정된 범위의 문자열을 삭제
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(5, 11);
System.out.println(sb); // Hello
- deleteCharAt(int index) : 특정 위치의 문자를 삭제
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(5, 11);
System.out.println(sb); // Hello
- reverse() : 문자열을 역순으로 뒤집음
StringBuffer sb = new StringBuffer("Hello");
sb.reverse();
System.out.println(sb); // olleH
- capacity() : 현재 StringBuffer의 용량을 반환
StringBuffer sb = new StringBuffer("Hello");
System.out.println(sb.capacity()); // 기본 16 + 문자열 길이
- length() : 현재 문자열의 길이 반환
- String, StringBuffer, StringBuilder 모두 사용 가능
StringBuffer sb = new StringBuffer("Hello");
System.out.println(sb.length()); // 5
- setLength(int newLength) : 문자열의 길이 설정. 길이를 줄이면 문자열이 잘리고, 늘리면 빈 공간에 \0이 추가
StringBuffer sb = new StringBuffer("Hello");
sb.setLength(3);
System.out.println(sb); // Hel
- charAt(int index) : 특정 위치의 문자를 반환
- String, StringBuffer, StringBuilder 모두 사용 가능
StringBuffer sb = new StringBuffer("Hello");
System.out.println(sb.charAt(1)); // e
- ensureCapacity(int minimumCapacity) : 최소 용량 보장
StringBuffer sb = new StringBuffer();
sb.ensureCapacity(50);
System.out.println(sb.capacity()); // 50 이상
- substring(int start, int end) : 지정된 범위의 문자열 반환 (String으로 반환된다!)
StringBuffer sb = new StringBuffer("Hello World");
String sub = sb.substring(6, 11);
System.out.println(sub); // World