String类与StringBuffer类以及StringBulider类
1.任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。
2.通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和StringBuilder类。
3.在String中使用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改append();
public class Test{
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("Hello").append("World");
fun(sb);
System.out.println(sb);
}
public static void fun(StringBuffer temp) {
temp.append("\n").append("www.bit.com.cn");
}
}
注意:
String和StringBuffer类不能直接转换
如果要想互相转换,可以采用如下原则:
String变为StringBuffer:
1.利用StringBuffer的构造方法或append()方法
2.StringBuffer变为String:调用toString()方法
面试题:
请解释String、StringBuffer、StringBuilder的区别:
1.String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
2.StringBuffer采用同步处理,属于线程安全操作;
而StringBuilder未采用同步处理,属于线程不安全操作