**
StringBuffer 和 StringBuilder 类
**
- String类型的变量进行修改操作时一定会引发对象的新建
在java中所有的复杂类型变量中都会有一个方法hashCode():int,这个值是一个和变量存储位置相关的数据
对象的创建和销毁是需要时间代价的
- 使用StringBuffer和StringBuilder类的前提是频繁的修改操作
- 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改且不产生新的未使用对象。StringBuilder类在Java 5中被提出,它和StringBuffer间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。由于StringBuilder相较于StringBuffer有速度优势,所以
多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。
构建对象的方法
StringBuilder sb1=new StringBuilder("初始内容");
StringBuilder sb2=new StringBuilder(int初始化容积);
StringBuilder或者StringBuffer类支持的主要方法:
不同于String类型,没有+或者+=这样的运算符
StringBuffer append(任意类型数据) 将指定的类型类型数据转换为字符串追加到此字符序列末尾
StringBuffer reverse()将此字符序列用其反转形式取代。
String ss = "1234567890";
StringBuilder sb = new StringBuilder(ss);// 将String转换为StringBuilder
sb.reverse();
System.out.println(sb.toString());// 将StringBuilder转换为String
如果使用StringBuffer只是替换名称即可,StringBuffer和StringBuilder中的方法基本一致