java常用类-String VS StringBuffer
String:对String类型的对象操作,等同于重新生成一个新对象,然后讲引用指向它;
StringBuffer:对StringBuffer类型的对象操作,操作的始终是同一个对象;
举例:
package com.java1234.chap05.sec02; public class TestString { public static void main(String[] args) { String str="123"; str+="abc"; System.out.println(str); } }
运行输出:
123abc
str原先指向的是123 通过+= 重新指向了123abc;
这里再举例StringBuffer:
package com.java1234.chap05.sec02; public class TestStringBuffer { public static void main(String[] args) { StringBuffer sb=new StringBuffer("123"); sb.append("abc"); System.out.println(sb.toString()); } }
运行输出:
123abc
这两个实例的内部运行有本质区别的:
StringBuffer里始终是一个对象;
总结下:假如定义的字符串内容基本不变或者很少变化,用String效率高;假如定义的字符串内容经常变动,要用StringBuffer;