当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
不同于 String 类,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,且不产生新对象。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
public class UpdateString{
public static void main(String args[]){
StringBuffer sBuffer = new StringBuffer("ABCDEFG");//创建一个字符序列
sBuffer.append("HIJKLMN");//将指定的字符串追加到此字符序列
System.out.println(sBuffer);
System.out.println(sBuffer.reverse()); //将此字符序列反转
System.out.println(sBuffer.delete(3, 10)); //移除此序列的子字符串中的字符
System.out.println(sBuffer.insert(3, "FM1")); //将新字符序列插入此序列的指定位置中
System.out.println(sBuffer.replace(3, 10,"OPQ")); //使用给定字符串中的字符替换此序列的子字符串中的字符
System.out.println(sBuffer.capacity()); //返回当前容量
System.out.println(sBuffer.charAt(3)); //返回此序列中指定索引处的 char 值
System.out.println(sBuffer.indexOf("L"));//返回第一次出现指定子字符串在该字符串中的索引
System.out.println(sBuffer.substring(2,4));//返回一个新的 String,它包含此序列当前所包含的字符子序列
}
}
编译并运行 结果如下
ABCDEFGHIJKLMN
NMLKJIHGFEDCBA
NMLDCBA
NMLFM1DCBA
NMLOPQ
23
O
2
LO