Java基礎學習筆記--常用API之StringBuilder類

package com.common.api;

/*
 * 基本介紹
 * 1、StringBuilder 是JDK1.5之後出現的,可替換StringBuilder的API
 * 2、不通點:
 * 		1)StringBuilder是線程同步的
 * 		2)StringBulder是線程不同步的
 * 3、使用原則:
 * 		1)單線程使用StringBuilder,多線程使用StringBuilder
 * 		2)單線程使用StringBuilder,不過需要自己去加鎖,保持同步
 * 4、以後開發建議使用StringBuilder,StringBuilder擁有更高的效率
 * 
 *Java升級三個要素
 * 		1)提高效率
 * 		2)簡化書寫
 * 		3)提高安全性
 * 
 * 功能:CURD(Create Update Read Delete)
 * 		1)存儲
 * 			StringBuilder append();將指定的數據作爲參數添加到已有數據的結尾處
 * 			StringBuilder insert(index,數據);;可以將數據插入到指定index位置
 * 		2)刪除
 * 			StringBuilder delete(int start, int end) 刪除緩衝區中的數據,包含start,不包含end
 * 			StringBuilder deleteCharAt(int index) 刪除指定位置的字符
 * 		3)獲取
 * 			char charAt(int index)  
 * 			int indexOf(String str)  
 * 			int lastIndexOf(String str) 
 * 			int length()   
 * 			String substring(int start, int end)  
 * 		4)修改
 * 			StringBuilder replace(int start, int end, String str)  
 * 			void setCharAt(int index, char ch)  
 * 		5)反轉
 * 			StringBuilder reverse()  
 * 		6) 緩存區指定數據存儲到指定字符數組中
 * 			void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
 */
public class StringBuilderDemo {

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
	
	public static void method_update()
	{
		StringBuilder sb=new StringBuilder("abcde");
		sb.replace(1,4,"java");
		sop(sb.toString());
		sb.setCharAt(0, 'A');
		sop(sb.toString());
	}
	public static void method_add()
	{
		StringBuilder sb=new StringBuilder();
		sb.append(23).append(true).append(45);
		sop(sb.toString());
		sb.insert(2, "kk");
		sop(sb.toString());
	}
	
	public static void method_del()
	{
		StringBuilder sb=new StringBuilder("abcde");
		sop(sb.toString());
		sb.delete(1, 3);
		sop(sb.toString());
		sb.deleteCharAt(2);
		sop(sb.toString());
		//清空緩存區
		sb.delete(0, sb.length());
		sop("清空緩衝區後結果爲:"+sb.toString());
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		method_add();
		
		method_del();
		
		method_update();
		
		StringBuilder sb=new StringBuilder("abcdefg");
		char[] chs=new char[4];
		sb.getChars(1, 4, chs, 1);
		for(int i=0;i<chs.length;i++)
		{
			System.out.printf("chs[%d]=%s ",i,chs[i]);
		}
	}
}

執行結果如下:

23true45
23kktrue45
abcde
ade
ad
清空緩衝區後結果爲:
ajavae
Ajavae
chs[0]=   chs[1]=b chs[2]=c chs[3]=d 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章