Java 객체 StringBuffer 클래스-13-String과 StringBuffer 상호 변환 및 연습 문제
1. String 객체를 StringBuffer 객체로 변환
String을 StringBuffer로 전환하려면 두 가지 방법이 있는데 하나는 구조 방법이고 두 번째는 append 방법이다.
package stringbuffer;
publicclass Demo1_StringBuffer {
public static void main(String[] args) {
// String StringBuffer
StringBuffer sb = new StringBuffer("Anthony");
System.out.println(sb);
StringBuffer sb2 = new StringBuffer();
sb2.append("Anthony");
System.out.println(sb2);
}
} 두 번째 방법은 빈 문자의 StringBuffer 대상을 초기화한 다음에 append 방법은 빈 문자와 변환할 문자열을 연결하는 것이다.
2. StringBuffer 객체 String 객체로 교체
StringBuffer를 String 대상으로 전환하려면 세 가지 방법이 있습니다. toString (), 구조 방법,subString (0,length)
package stringbuffer;
public class Demo1_StringBuffer {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("Anthony");
// 1. String String
String str = new String(sb);
System.out.println(str);
// 2. toString , StringBuffer Object toString
String str2 = sb.toString();
System.out.println(str2);
// 3.
String str3 = sb.substring(0, sb.length());
System.out.println(str3);
}
} 연습 1: 숫자 조립을 문자열로 출력
제목: 예를 들어 인트수 그룹arr={11,22,33}이 있는데 변환된 출력 형식은'[11,22,33]'입니다.
이 문제는 스트링 클래스 학습 과정에서 썼는데 지금은 스트링 버퍼의 방법을 사용해서 실현한다.
분석:
1).문자열로 변환하기 때문에 반환 값 유형은 String입니다.
2).변환 대상은 수조이고 방법의 형식 매개 변수는 수조 int[]
다음은 구체적인 코드 실현이다
package stringbuffer;
public class Demo1_StringBuffer {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55,66,77,88,99};
System.out.println(array2String(arr));
}
public static String array2String(int[] arr) {
StringBuffer sb = new StringBuffer();
// 1
sb.append("[");
// 2
for(inti=0; i<= arr.length-1; i++){
if(i == arr.length-1) {
sb = sb.append(arr[i] + "]"); //
}else {
sb = sb.append(arr[i] + ",");
}
}
return sb.toString();
}
} 출력 결과: [11,22,33,44,55,66,77,88,99]
연습 2: 스트링버퍼 클래스를 사용하여 문자열 반전 출력
분석:
1).Scanner를 사용하여 키보드 입력 문자열 수신
2).방법 반환 값은 문자열입니다
3).메소드 매개변수가 비어 있음
구체적인 코드는 다음과 같습니다.
package stringbuffer;
import java.util.Scanner;
public class Demo1_StringBuffer {
public static void main(String[] args) {
System.out.println(myReverse());
}
public static String myReverse() {
Scanner sc = new Scanner(System.in);
System.out.println(" :");
String line = sc.nextLine();
sc.close();
StringBuffer sb = new StringBuffer(line);
sb.reverse();
return sb.toString();
}
}