一、为什么要引出StringBuffer类
1、String创建对象的对堆的影响
一、使用new Srting ();创建对象
String ID=new String("Tom");
此时在堆中创建了两个对象
二、使用String单独创建对象
String id ="T";
id=id+"om"; //在堆中创建了两个对象
此时在第一句代码执行创建一个新的对象,执行到下一步时再次创建新的对象 【常量池】
三、StringBuffer类
for(int i=0;i<50;i++) {
id=id+"om"; //创建对象过多
}
在Java执行时如若出现上述代码,在堆中就会创建很多很多对象,导致堆中的对象过多;为了解决上述问题,在Java中提出了StringBuffer类,可以优化String类对象的数量
二、什么是StringBuffer类
一、关键字
关键字为:StringBuffer
二、创建对象
StringBuffer name =new StringBuffer();
创建对象语句:StringBuffer 变量名 = new Stringbuffer(字符串/空);
三、使用StringBuffer类
一、不可直接赋值
在创建对象时,new StringBiuffer();括号中的字符串实在对对象赋予初值
如图可以看出StringBuffer类的变量是不可以被赋值
二、append方法
在StringBuffer类中含有append方法,可以在不创建对象的情况下对其变量进行增添字符串:
此时输出的结果为:Tom
三、reverse 方法
在StringBuffer类中有reverse方法:其作用是将的顺序进行颠倒
StringBuffer buffer =new StringBuffer("T");
buffer.append("om");
System.out.println(buffer.reverse());
此时输出的结果为:moT
四、toString方法:将StringBuffer类型转换为String类