码迷,mamicode.com
首页 > 编程语言 > 详细

java中的StringBuffer和StringBuilder

时间:2015-06-17 02:02:36      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:stringbuffer stringbuilder

/*
	java.lang.StringBuffer;
	java.lang.StringBuilder;
	
		1.StringBuffer和StringBuilder是什么?
			是一个字符串缓冲区.
			
		2.工作原理
			预先在内存中申请一块空间,以容纳字符序列,
			如果预留的空间不够用,则进行自动扩容,以
			容纳更多字符序列。
		
		3.StringBuffer,StringBuilder  和  String最大的区别?
			
			String是不可变得字符序列,存储字符串常量池中。
			
			StringBuffer底层是一个char数组,但是该char数组是可变的。
			并且可以自动扩容。
		
		4.StringBuffer和StringBuilder的默认初始化容量是16
		
		5.如何优化StringBuffer和StringBuilder呢?
			最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,
			然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer.
			为了减少底层数组的拷贝。提高效率。
		
		6.StringBuffer和StringBuilder的区别?
		
			StringBuffer是线程安全的。(可以在多线程的环境下使用不会出现问题.)
			StringBuilder是非线程安全的。(在多线程环境下使用可能出现问题.)
*/
public class Test01{
	
	
	public static void main(String[] args){
		
		//创建字符串缓冲区对象
		StringBuffer sb = new StringBuffer(); //16
		
		//可以向StringBuffer中追加字符串.
		String[] ins = {"体育","音乐","睡觉","美食"};
		
		//推荐字符串频繁拼接使用StringBuffer或者StringBuilder
		for(int i=0;i<ins.length;i++){
			
			if(i==ins.length-1){
				
				sb.append(ins[i]);
				
			}else{
			
				sb.append(ins[i]);
				sb.append(",");
				
			}
			
		}
		
		System.out.println(sb);
		
	}
	
}


本文出自 “gaogaozi” 博客,请务必保留此出处http://hangtiangazi.blog.51cto.com/8584103/1662499

java中的StringBuffer和StringBuilder

标签:stringbuffer stringbuilder

原文地址:http://hangtiangazi.blog.51cto.com/8584103/1662499

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!