这里是针对其反转功能来举的例子,再对比之前写的一篇String类的反转功能,StringBuffer明显提高了代码量,提高了效率。
import java.util.Scanner; /* * 把字符串反转 */ public class StringBufferTest3 { public static void main(String[] args) { // 键盘录入数据 Scanner sc = new Scanner(System.in); System.out.println("请输入数据:"); String s = sc.nextLine(); // 方式1:用String做拼接 String s1 = myReverse(s); System.out.println("s1:" + s1); // 方式2:用StringBuffer的reverse()功能reverse()直接把给的数组反转了 String s2 = myReverse2(s); System.out.println("s2:" + s2); } // 用StringBuffer的reverse()功能 public static String myReverse2(String s) { // 简易版,链式编程 return new StringBuffer(s).reverse().toString();//一行解决 } // 用String做拼接 public static String myReverse(String s) { String result = ""; char[] chs = s.toCharArray();//将此字符串转s换为一个新的字符数组。String类下面的方法 public char[] toCharArray() for (int x = chs.length - 1; x >= 0; x--) {//倒着进行字符数组遍历
result += chs[x];//拼接又成了String类型了,可以把结果直接返回。 } return result; } }