单例模式的关键点:一个类只能构建一个对象。
String:字符串常量;
StringBuilder:字符串变量
StringBuffer:字符串变量
变量:在程序运行期间可以修改的量
常量:在程序运行期间不能修改的量
package test;
public class StringTest {
public static void main(String[] args) {
String s1 = "123";
s1 = s1 +"1";
System.out.println(s1);
}
}
程序输出1231,看起来s1像是被改变了,其实是先创建一个s1对象,之后再创建一个s1对象执行第二段代码,最初的s1是没有被改变的。也就是说每次调用s1都会创建新的对象。这样的话效率会变得很低。
StringBuffer是线程安全的。StringBuffer有append和insert方法。可以接受任何类型的数据。
速度:StringBuilder>StringBuffer>String
单线程中操作大量数据建议用 StringBuffer多线程中操作大量数据建议用StringBuilder
操作少量数据建议用String