1):创建的方式不同
String str = new String ("abc"); || String str ="abc";
StringBuffer Stbf = new StringBuffer("abc");
String 字符串修改的原理:
String str = new String("hello");
str = str+"world";
该过程的内部机制如下:
先创建一个StringBuffered ,其次调用一个StringBuffered的append()方法将world添加到StringBuffered对象中,最后调用StringBuffer的toString()方法:
示例: String s = "hello"; s+="world";
等价于:StringBuffer strBuff = new StringBuffer(s);
strBuff.append("world");'
s = strBuff.toString();
2):StringBuilder 和StringBuffer都是字符缓冲区,但StringBuilder非线程安全,它们都继承的是AbatractStringBuilder
在效率上:StringBuilder > StringBuffer > String
3):StringTokenizer是分割字符串的
例如:
StringTockenizer st = new StringTockenizer("welcome to our country");
while(st.hasMoreTockens()){
syso(st.nextTocken());//结果为:welcome to our country
}
对于StringBuilder 和StringBuffer的更细致区别在下一篇中将会介绍