1、String是不可变的、StringBuffer是可变的。在程序中如果定义String s = "this is a
string".那么在以后的应用中不能对s进行任何修改只能进行诸如subString等操作,如果想进行改动只能重新new一个string而不是对
原来的s进行改动.而对于StringBuffer却是可以改变的,在程序中定义StringBuffer s ="This is
a",对于StringBuffer可以使用append和insert等函数,如s.append("string")结果就是s="This is a
string".
2、String类提供了一些方法,用来进行字符串的比较。这个类实现了Object父类的equals()方法,用来比较两种字符串的值是否相
等。同时还增加了equalsIgnoreCase()方法可以忽略两个字符串大小写的区别。但是StringBuffer类并没有实现Objcet类的
Equals方法,所以不能用这个方法来比较两个StringBuffer类的字符串是否相等。除了用equalse方法来比较两个字符串外,还可以
用==来比较字符串。与equalse方法不同的是,==不是比较两个字符串的值是否相等,而是比较几个字符串的引用是否指向同一个实例。
3、StringBuffer的效率并不一定比string高,如对于String s1 ="This
"+“is”+"a"+"string"和StringBuffer
s2="":s2.append(""This");s2.append("is");s2.append("a");
s2.append("string").测试发现前者明显比后者效率高。原因是,在定义s1时,编译时即可使得s1="This is a
string",而s2需要等到运行时才能确定。
4、当然了,一般情况下,StringBuffer是要比String效率高些的
分享到:
相关推荐
String,StringBuffer,StringBuilder区别。几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关 工具如拼接类的使用,对写出高质量代码是非常有帮助的
String StringBuffer和StringBuilder 区别之源码解析 从源码角度简单对它们之间的区别进行了验证
String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别
string和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候...
StringBuffer:字符创变量 StringBuilder:字符创变量 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:
从非常细致的角度分析了String和Stringbuffer的主要区别
String及StringBuffer和StringBuilder的区别
java面试笔试题String 和StringBuffer的区别
JAVA中String与StringBuffer的区别 JAVA中String与StringBuffer的区别 自己的学习笔记总结
String ,StringBuffer与StringBuilder的区别
String的效率低于StringBuffer,开发时最好选用StringBuffer。
详解string与stringbuffer的区别,详述了String 是不可变,以及他们的再字符串连接时的效率区别!
介绍了String、StringBuffer、StringBuilder的使用方法,以及理论知识
简单的介绍了String、StringBuffer和StringBuilder的区别
NULL 博文链接:https://coderdream.iteye.com/blog/845822
针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍...
StringBuffer和String_区别 java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的...
string,stringBuffer,stringBuilder