String和StringBuffer的区别:
String的内容一旦声明就不可以再改变。如果再改变,则改变的肯定是String的引用地址。
1、String的创建方法:
String str = "12345";
String str = new String("12345");
StringBuffer的创建方法:
StringBuffer类有一个构造方法,构造方法格式为:public StringBuffer(){}。
创建一个StringBuffer对象:StringBuffer buf = new StringBuffer();
2、String和StringBuffer的关系有点类似常量和变量的关系。StringBuffer对象的内容是可以修改的。String对象的内容是无法修改的,如果修改也是改变的引用地址,创建了新对象。
3、StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不会产生新的对象,在内存使用上要优于String。所以对于频繁修改字符串内容的地方,优先使用StringBuffer完成。
4、String类中,没有用来修改已有字符串中某个字符或者子字符串的方法,String类的对象是不可以改变的。然而,不可改变的字符串具有一个优点,编译器可以把字符串设为共享的。
5、StringBuffer是线程安全的。