Java对象StringBuffer类-13-String和StringBuffer互相转换和练习题

本篇来学习如何在Stirng和StringBuffer之间互相转换,和利用StringBuffer方法重新做前面String类做过的面试编程练习题。

 

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:将数组装换成字符串输出

 

题目:例如有一个Int数组arr={11,22,33},转换后输出格式为“[11,22,33]”。

 

这个题目我们在String类学习过程中写过,现在使用StringBuffer的方法来实现。

 

分析:

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:使用StringBuffer类进行字符串反转输出

 

分析:

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();
   }
}


 

你可能感兴趣的:(Java对象StringBuffer类-13-String和StringBuffer互相转换和练习题)