Java APi之StringBuffer


public class StringBufferDome {

	public static void main(String[] args) {
		String a="a";
		String b="b";
		String c=a+b+1;//在内存中a,b,1,a+b,a+b+1;五个对象
		System.out.println(c);
		
		String d="a"+1+2+3+4+"b";//一个对象a1234b 
		/*
		 * 用StringBuffer解决变量对象占用内存
		1.StringBuffer目的是来解决字符串相加时带来的性能问题(常来与变量)
		2.StringBuffer的内部实现采用字符数组,默认数组的长度为16,超过数组大小时动态扩充的算法是原来长度*2+2,
		所以当我们已经预知要添加的数据长度时,建议使用带初始容量的的方法,来避免动态扩充的次数,从而提高效率
		3.线程安全的,会影响性能
		 * */
		
		StringBuffer sb=new StringBuffer(32);//带容量的构造,建议
		sb.append(a).append(b).append(1);
		System.out.println(sb.toString());
		
		StringBuffer sb2=new StringBuffer("abc");
		System.out.println(sb2);
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_44117272/article/details/89481109