package com.hqy.String;
/*
* 注意:当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类
* 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
*
* StringBuilder:速度比StringBuffer快,但他的方法不是线程安全的(不能同步访问)。
* 所以多数情况下使用StringBuider。
*
* StringBuffer: 在应用程序要求线程安全的情况下,必须使用StringBuffer类
*
*/
public class IavaStringBufferAndStringBuilder {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 一.StringBuffer方法学习
*/
StringBuffer buffer=new StringBuffer("helloworld");
//1.public StringBuffer append(String s)
// 将指定的字符串追加到此字符序列。
System.out.println("1:"+buffer.append(" goodbye"));
//2. public StringBuffer reverse()
// 将此字符序列用其反转形式取代。
System.out.println("2:"+buffer.reverse());
//3.public delete(int start, int end)
// 移除此序列的子字符串中的字符。
System.out.println("3:"+buffer.delete(2, 3));
//4.public insert(int offset, int i)
// 将 int 参数的字符串表示形式插入此序列中。
System.out.println("4:"+buffer.insert(0, 3));
//5.replace(int start, int end, String str)
// 使用给定 String 中的字符替换此序列的子字符串中的字符。
System.out.println("5:"+buffer.replace(0, 2,"xx" ));
//6. int capacity()
// 返回当前容量。
System.out.println("6:"+buffer.capacity());
}
}
结果:
1:helloworld goodbye2:eybdoog dlrowolleh
3:eydoog dlrowolleh
4:3eydoog dlrowolleh
5:xxydoog dlrowolleh
6:26