关于String,StringBuilder和StringBuffer之间的关系。
1:关系
- String内部使用过使用final char[]数组来构建的,该数组已经初始化就不能改变,所以如果使用String向变化,则只能新创一个复制过去,当然这种不能改变的特性也保证可它是线程安全的。
- StringBuilder和StringBuffer都是继承了 extends AbstractStringBuilder,其内部不是final char[]的数组,所以其可以变化,如果使用可以变化,增加减少的字符串可以考虑使用这这种,但由于其可变化所以其不支持多线程的操作。但是StringBudder内部的操作方法菜都是经过同步的,虽然降低了性能,但是保证了多线程的安全性。
2:转换
StringBuilder a = new StringBuilder("I love you");
String b = ""+a; //将StringBuilder类型转换成String类型
StringBuilder a = new StringBuilder(a); //将String类型转换为StringBuilder类型

浙公网安备 33010602011771号