StringBuffer
StringBuffer는 String클래스와 유사한 메서드를 많이 가지고 있다.
여기서 추가, 변경, 삭제와 같이 변경할 수 있는 메서드들이 추가로 제공된다.
https://standout.tistory.com/1196
StringBuffer()
16문자를 담을수 있는 버퍼 인스턴스 생성
// 1. StringBuffer() - 16문자를 담을 수 있는 버퍼 인스턴스 생성
StringBuffer buffer1 = new StringBuffer();
StringBuffer(int length)
지정된 문자를 담을 수 있는 버퍼 인스턴스 생성
// 2. StringBuffer(int length) - 지정된 문자를 담을 수 있는 버퍼 인스턴스 생성
StringBuffer buffer2 = new StringBuffer(16);
StringBuffer(String str)
지정된 문자열 값을 갖는 인스턴스 생성
// 3. StringBuffer(String str) - 지정된 문자열 값을 갖는 인스턴스 생성
StringBuffer buffer3 = new StringBuffer("Hello, World!");
System.out.println(buffer3); // 출력: Hello, World!
String toString()
문자열을 String으로 변환
// 3. StringBuffer(String str) - 지정된 문자열 값을 갖는 인스턴스 생성
StringBuffer buffer3 = new StringBuffer("Hello, World!");
// 4. String toString() - 문자열을 String으로 변환
String strFromBuffer = buffer3.toString();
System.out.println("4. " + strFromBuffer); // 출력: Hello, World!
String substring(int start)
String substring(int start, int end)
지정된 범위내 문자열을 String으로 뽑아 반환, start만 지정시 시작위치부터 끝까지 적용.
// 3. StringBuffer(String str) - 지정된 문자열 값을 갖는 인스턴스 생성
StringBuffer buffer3 = new StringBuffer("Hello, World!");
// 5. String substring(int start) - 지정된 위치부터 끝까지 문자열을 추출
String subString1 = buffer3.substring(7);
System.out.println("5. " + subString1); // 출력: World!
// 6. String substring(int start, int end) - 지정된 범위내 문자열을 추출
String subString2 = buffer3.substring(7, 12);
System.out.println("6. " + subString2); // 출력: World
StringBuffer append (...)
입력된 값을 문자열로 변환해 문자열 뒤에 덧붙임
설명을 위해 미리 Buffer객체를 생성하자.
StringBuffer buffer1 = new StringBuffer();
System.out.println("1. " + buffer1); // 출력: 1.
StringBuffer append (boolean b)
// 7. StringBuffer append (boolean b) - 입력된 값을 문자열로 변환해 뒤에 덧붙임
buffer1.append(true);
System.out.println("7. " + buffer1); // 출력: 7. true
StringBuffer append (char c)
// 8. StringBuffer append(char c) - 입력된 문자를 문자열로 변환해 뒤에 덧붙임
buffer1.append('X');
System.out.println("8. " + buffer1); // 출력: 8. X
StringBuffer append (char[] str)
// 9. StringBuffer append(char[] str) - 입력된 문자 배열을 문자열로 변환해 뒤에 덧붙임
buffer1.append(new char[] {'A', 'B', 'C'});
System.out.println("9. " + buffer1); // 출력: 9. ABC
StringBuffer append (double d)
// 10. StringBuffer append(double d) - 입력된 double 값을 문자열로 변환해 뒤에 덧붙임
buffer1.append(3.14);
System.out.println("10. " + buffer1); // 출력: 10. ABC3.14
StringBuffer append (float f)
// 11. StringBuffer append(float f) - 입력된 float 값을 문자열로 변환해 뒤에 덧붙임
buffer1.append(1.23f);
System.out.println("11. " + buffer1); // 출력: 11. ABC3.141.23
StringBuffer append (int i)
// 12. StringBuffer append(int i) - 입력된 int 값을 문자열로 변환해 뒤에 덧붙임
buffer1.append(42);
System.out.println("12. " + buffer1); // 출력: 12. ABC3.141.234
StringBuffer append (long l)
// 13. StringBuffer append(long l) - 입력된 long 값을 문자열로 변환해 뒤에 덧붙임
buffer1.append(123456789L);
System.out.println("13. " + buffer1); // 출력: 13. ABC3.141.234123456789
StringBuffer append (Object obj)
// 14. StringBuffer append(Object obj) - 입력된 객체를 문자열로 변환해 뒤에 덧붙임
buffer1.append(new Object());
System.out.println("14. " + buffer1); // 출력: 14. ABC3.141.234123456789java.lang.Object@...
StringBuffer append (String str)
// 15. StringBuffer append(String str) - 입력된 문자열을 뒤에 덧붙임
buffer1.append("Hello");
System.out.println("15. " + buffer1); // 출력: 15. ABC3.141.234123456789java.lang.Object@...Hello
StringBuffer insert(...)
받은값을 문자열로 변환해 지정된 위치에 추가 pos는 0부터시작
설명을 위해 미리 생성해놨던 Buffer객체를 이용하자.
StringBuffer insert(int pos, boolean b)
// 16. StringBuffer insert(int pos, boolean b) - 입력된 값을 문자열로 변환해 지정된 위치에 추가
buffer1.insert(5, true);
System.out.println("16. " + buffer1); // 출력: 16. ABC3true.141.234123456789java.lang.Object@...Hello
StringBuffer insert(int pos, char c)
// 17. StringBuffer insert(int pos, char c) - 입력된 문자를 문자열로 변환해 지정된 위치에 추가
buffer1.insert(2, 'X');
System.out.println("17. " + buffer1); // 출력: 17. ABXC3true.141.234123456789java.lang.Object@...Hello
StringBuffer insert(int pos, char[] str)
// 18. StringBuffer insert(int pos, char[] str) - 입력된 문자 배열을 문자열로 변환해 지정된 위치에 추가
buffer1.insert(8, new char[] {'Y', 'Z'});
System.out.println("18. " + buffer1); // 출력: 18. ABXC3truYZe.141.234123456789java.lang.Object@...Hello
StringBuffer insert(int pos, double d)
// 19. StringBuffer insert(int pos, double d) - 입력된 double 값을 문자열로 변환해 지정된 위치에 추가
buffer1.insert(15, 42.42);
System.out.println("19. " + buffer1); // 출력: 19. ABXC3truYZe.141.23412.23456789java.lang.Object@...Hello
StringBuffer insert(int pos, float f)
// 20. StringBuffer insert(int pos, float f) - 입력된 float 값을 문자열로 변환해 지정된 위치에 추가
buffer1.insert(20, 789f);
System.out.println("20. " + buffer1); // 출력: 20. ABXC3truYZe.141.23412.23456789789java.lang.Object@...Hello
StringBuffer insert(int pos, int i)
// 21. StringBuffer insert(int pos, int i) - 입력된 int 값을 문자열로 변환해 지정된 위치에 추가
buffer1.insert(25, 101112);
System.out.println("21. " + buffer1); // 출력: 21. ABXC3truYZe.141.23412.2345678978910112java.lang.Object@...Hello
StringBuffer insert(int pos, long l)
// 22. StringBuffer insert(int pos, long l) - 입력된 long 값을 문자열로 변환해 지정된 위치에 추가
buffer1.insert(30, 9876543210L);
System.out.println("22. " + buffer1); // 출력: 22. ABXC3truYZe.141.23412.23456789789101129876543210java.lang.Object@...Hello
StringBuffer insert(int pos, Object obj)
// 23. StringBuffer insert(int pos, Object obj) - 입력된 객체를 문자열로 변환해 지정된 위치에 추가
buffer1.insert(35, new Object());
System.out.println("23. " + buffer1); // 출력: 23. ABXC3truYZe.141.23412.23456789789101129876543210java.lang.Object@...Hellojava.lang.Object@...
StringBuffer insert(int pos, String str)
// 24. StringBuffer insert(int pos, String str) - 입력된 문자열을 지정된 위치에 추가
buffer1.insert(40, "World");
System.out.println("24. " + buffer1); // 출력: 24. ABXC3truYZe.141.23412.23456789789101129876543210java.lang.Object@...Hellojava.lang.Object@...World
StringBuffer delete(...)
설명을 위해 Buffer객체를 다시 이용하자.
// 가정: 이미 이전에 선언 및 초기화한 StringBuffer 인스턴스인 buffer1이 있다고 가정
buffer1 = new StringBuffer("HELLOWORLD");
StringBuffer delete(int start, int end)
위치 사이에 있는 문자제거, 끝위치 문자는 제외.
// 25. StringBuffer delete(int start, int end) - 위치 사이에 있는 문자를 제거 (끝 위치 문자는 제외)
buffer1.delete(0, 5);
System.out.println("25. " + buffer1); // 출력: 25. WORLD
StringBuffer deleteCharAt(int index)
지정된 위치 문자를 제거
// 26. StringBuffer deleteCharAt(int index) - 지정된 위치 문자를 제거
buffer1.deleteCharAt(2);
System.out.println("26. " + buffer1); // 출력: 26. WOLD
char charAt(int index)
지정된 위치의 문자를 반환
// 27. char charAt(int index) - 지정된 위치의 문자를 반환
char charAtIndex = buffer1.charAt(4);
System.out.println("27. " + charAtIndex); // 출력: 27. O
void setLength(int newLength)
지정된 길이로 문자열의 길이를 변경함, 길이를 늘리는 경우 나머지 빈공간은 널문자로 채움
// 28. void setLength(int newLength) - 문자열의 길이 변경, 나머지는 널문자로 채움
buffer1.setLength(15);
System.out.println("28. " + buffer1); // 출력: 28. WOLD
StringBuffer replace(int start, int end, String str)
지정된 범위의 문자들을 주어진 문자열로 바꿈
// 29. StringBuffer replace(int start, int end, String str) - 지정된 범위의 문자들을 주어진 문자열로 바꿈
buffer1.replace(3, 8, "REPL");
System.out.println("29. " + buffer1); // 출력: 29. WREPLD
void setCharAt(int index, char ch)
지정된 위치의 문자를 주어진 문자로 바꿈
// 30. void setCharAt(int index, char ch) - 지정된 위치의 문자를 주어진 문자로 바꿈
buffer1.setCharAt(0, 'Z');
System.out.println("30. " + buffer1); // 출력: 30. ZREPLD
이해를 위해 Buffer 객체를 다시 정의하자.
// 가정: 이미 이전에 선언 및 초기화한 StringBuffer 인스턴스인 buffer1이 있다고 가정
buffer1 = new StringBuffer("HELLOWORLD");
int capacity()
인스턴스의 버퍼 크기를 알려줌
// 31. int capacity() - 인스턴스의 버퍼 크기를 알려줌
int bufferCapacity = buffer1.capacity();
System.out.println("31. " + bufferCapacity); // 출력: 31. 21
int length()
문자열 길이 반환
// 32. int length() - 문자열 길이 반환
int bufferLength = buffer1.length();
System.out.println("32. " + bufferLength); // 출력: 32. 10
StringBuffer reverse()
저장되어있는 문자열의 순서를 거꾸로 나열
// 33. StringBuffer reverse() - 저장되어있는 문자열의 순서를 거꾸로 나열
StringBuffer reversedBuffer = buffer1.reverse();
System.out.println("33. " + reversedBuffer); // 출력: 33. DLOLLEHW
'JAVA' 카테고리의 다른 글
Math클래스: 올림, 버림, 반올림 ceil(), floor(), round(), rint() (0) | 2023.12.14 |
---|---|
StringBuilder란? : StringBuffer와의 차이 (0) | 2023.12.11 |
문자열배열을 합칠 수 있는 java.util.StringJoiner (0) | 2023.12.08 |
문자열배열을 합칠 수 있는 join() (0) | 2023.12.08 |
java.lang패키지 : String 클래스 (0) | 2023.12.08 |