StringBuffer与String的区别
从类型来看:String是字符串常量,而StringBuffer是字符串变量。就是说String是不可改变的,你可能会对下面的代码感到奇怪:
String s = "abc";
s+="d";
其实JVM干的事情并不是真的在String后面加了一个”d”,他执行第一行代码时创建了一个s对象,而执行第二行的时候又创建了一个新的对象,也就是说之前我们创建的s对象根本没有发生改变。所以String操作字符串时实际上就是不断创建新的对象,原来的对象会被回收掉。这个的效率是十分低下的。
因此我们的结论是:当我们需要操作少量的数据时用String,操作大量数据时用StringBuffer,当然,对于字符串变量还有一个StringBuilder,不过我还没有学到线程,所以以后再比较他们的区别。
StringBuffer的常用操作
1.append()
s.append('a');//加字符
s.append("a");//加字符串
s.append(1);//加数字
2.reverse()
s.reverse();
3.delete(int start,int end)
s.delete(0,2);
4.length()
int length=s.length();//获取字符串长度
5.charAt(int index)
char c=s.charAt(0);//获取第一个字符
6.parseInt()
int a = s.parseInt();//将字符串转换为整数