STRING 的长度是不可变的,STRINGBUFFER 的长度是可变的。如果对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的 toString()方法
String对象是不可变的,它的内容是不能变的
String s = "Java";
s = "html"
第一条语句创建了一个内容为"Java"的String对象,并将其引用赋值给s,第二个语句创建了一个内容为"html"的String对象,并将其引用赋值给s,赋值后第一个字符串仍然存在,只是不再被s指向。
String s1 = "welcome to java";
String s2 = new String("welcome to java");
String s3 = "welcome to java";
s1 == s2 is false
s1 == s3 is true
StringBuilder/StringBuffer创建之后可以添加、插入或追加新的内容,而String创建之后值就确定了。StringBuffer于StringBuilder之间的区别是,StringBuffer是线程安全的,可以多任务并发访问,StringBuilder用于单任务访问
String对象是不可变的,它的内容是不能变的
String s = "Java";
s = "html"
第一条语句创建了一个内容为"Java"的String对象,并将其引用赋值给s,第二个语句创建了一个内容为"html"的String对象,并将其引用赋值给s,赋值后第一个字符串仍然存在,只是不再被s指向。
String s1 = "welcome to java";
String s2 = new String("welcome to java");
String s3 = "welcome to java";
s1 == s2 is false
s1 == s3 is true
StringBuilder/StringBuffer创建之后可以添加、插入或追加新的内容,而String创建之后值就确定了。StringBuffer于StringBuilder之间的区别是,StringBuffer是线程安全的,可以多任务并发访问,StringBuilder用于单任务访问