/**
*
- String 对象,以及方法。
- StringBuffer StringBuilder
- StringBuffer: 字符串缓冲类:程安全的可变字符序列。一个类似于 String 的字符串缓冲区
- StringBuilder: 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步.线程不安全。
- String 和 StringBuffer StringBuilder 区别。
- String 表示一组不可变的字符序列。对于字符串的操作,将会创建新的字符串对象。 不适用于频繁操作字符串。
- StringBuffer 线程安全的可变字符序列。对于字符的操作,将在其对象方法中完成,不会创建新的字符串对象。适用于多线程操作
- StringBuilder 非线程安全的可变字符序列。对于字符的操作,将在其对象方法中完成,不会创建新的字符串对象。适用于单线程操作。
*/
public class Test {
public static void main(String[] args) {
// String 的使用。
String a = "a";
a = a+"b";
// 问题:一共有几个String对象。
// StringBuffer的使用。
StringBuffer sb = new StringBuffer("a");
// 向其内部追加。
sb.append("b");
// 向其内部插入,只允许前后多加1位。
sb.insert(0, "[");
sb.insert(sb.length(), "]");
sb.insert(4, "z");
// 删除某一位
sb.delete(0,1);
// 反转。
sb.reverse();
System.out.println(sb.toString());
// 问题:sb一共有几个对象?
// StringBuilder 的使用
StringBuilder sb1 = new StringBuilder("a");
sb1.append("b");
sb1.insert(0, "{");
sb1.insert(sb1.length(), "}");
sb1.delete(0,1);
System.out.println(sb1.capacity() );
System.out.println(sb1.length() );
}
}