详述Java中的StringBuffer类
1、为什么要创建StringBuffer类对象?
public class StringBufferTest {
public static void main(String[] args) {
//String name = "Tom";//内存中有一个String类型对象
//String name = "T"+"om";//"+"字符串连接符,"Tom"内存中有一个String类型对象
//String name = new String("Tom");//内存中有两个String对象,一个在常量池中,一个在堆中
//String a = "Tom";
//String name = new String(a);等价于String name = new String("Tom");
//String name = "t";
//name = name+"om";两个String对象
String names = "1";
for(int i = 0;i < 50;i++) {
names = names+"om";//每执行一次就会创建一个新的对象
}
}
}
程序中for循环每执行一次就会创建一个新的对象,这样会极大的占用内存
2、怎么创建StringBuffer对象?
public class StringBufferTest {
public static void main(String[] args) {
StringBuffer names = new StringBuffer("1");
for(int i = 0;i < 50;i++) {
names.append("om");
}
}
程序中自始至终都只有一个StringBuffer对象。这样就极大的节省了内存。
3、常用方法
public class StringBufferTest {
public static void main(String[] args) {
StringBuffer names = new StringBuffer("1");
for(int i = 0;i < 50;i++) {
names.append("om");
}
System.out.println(names);
names = new StringBuffer("ABCDEF");
System.out.println(names.reverse());
}
}
append()方法,在字符串后面加上指定字符串
reverse()方法,实现字符串倒置