package com.gouchao.string;
/**
* String ,StringbBuilder ,StringBuffer 的区别
* String: 该类代表字符串,Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
* 字符串常量,创建后不能被修改,可共享,适应数据量少的情况
* StringBuilder: 线程不安全的 ,提供append和insert操作来改变字符序列的内容和长度,
* 如果内部缓冲区溢出,则此容量自动增大。适用数据量大的情况
* StringBuffer:线程安全的,提供append和insert操作来修改字符串,
* 如果内部缓冲区溢出,则此容量自动增大,适用数据量大的情况
* 效率:String < Stringbuffer < Stringbuilder
* @author 够潮
*
*/
public class StringDemo {
public static void main(String args[]) {
String str = "abc";
String str1 = str + "de";
System.out.println(str+"<--->"+str1+"=="+(str == str1));
/**
* StringBuilder
*/
StringBuilder str2 = new StringBuilder("gou");
StringBuilder str3 = str2.append("chao");
System.out.println(str2+"<--->"+str3+"=="+(str2==str3));
System.out.println(str3.insert(0, "Hello!"));
/**
* StringBuffer
*/
StringBuffer str4 = new StringBuffer("xuyong");
StringBuffer str5 = str4.append("chao");
System.out.println(str4+"<--->"+str5+"=="+(str4==str5));
System.out.println(str4.insert(0, "Hello!"));
}
}