본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

java.lang패키지 : StringBuffer 클래스

StringBuffer

StringBuffer는 String클래스와 유사한 메서드를 많이 가지고 있다.

여기서 추가, 변경, 삭제와 같이 변경할 수 있는 메서드들이 추가로 제공된다.

https://standout.tistory.com/1196

 

java.lang패키지 : String 클래스

타 언어에서 문자열을 char형의 배열로 다루나 자바에서는 문자열을 위한 클래스를 제공한다. 문자열 관련 메서드는 방대하며 아래는 자주 사용될것들으로 이해한다. 물론 이도 양이 상당하다. S

standout.tistory.com

 

 

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