这里是针对其反转功能来举的例子,再对比之前写的一篇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;
}
}