码迷,mamicode.com
首页 > 其他好文 > 详细

StringBuffer

时间:2015-07-26 19:20:38      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

/*
 StringBuffer是字符串缓冲区(线程安全)
 是一个容器
 特点:
 1.而且长度是可变化的
 2.可以字节操作多个数据类型
 3.最终会通过toString()方法转换成字符串
 长度不确定,数据类型不同时,可以使用StringBuffer
 C create U update R read D delete
 1.存储
 StringBuffer append();指定的数据作为参数湅加到已有数据的结尾
 StringBuffer insert(index,数据):可以将数据插入到指定位置
 2.删除 
 StringBuffer deleteCharAt(index);//删除指定位置字符
 StringBuffer delete(start,end);//删除指定索引区间的字符
 3.获取
 char charAt(int index);
 int indexOf(String str);
 int lastIndexOf(String str);
 int length()
 String subString(int start,int end)
 4.修改
 StringBuffer replace(start,end,string)
 void setCharAt(index,char ch);
  5.反转
  StringBuffer reverse();
  6. void  getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
 
JDK1.5版本之后出现了StringBuiler
StringBuffer是线程同步
StringBuilder是线程不同步
以后开发,建议使用StringBuilder
升级三个因素:
1.提高效率
2.简化书写
3.提高安全性
*/
public class StringBufferDemo {
	public static void append(){
		StringBuffer sb=new StringBuffer();
		StringBuffer sb1=sb.append(34);
		sop(sb.toString());//结果:34
		sop(sb1.toString());//结果:34
		sop("sb==s1:"+(sb==sb1));//结果:sb==s1:true
	}
	public static void insert(){//bb34
		StringBuffer sb=new StringBuffer();
		sb.append(34);
		sb.insert(0, "bb");
		sop(sb.toString());//结果:bb34
		
	}
	public static void delete(){
		StringBuffer sb=new StringBuffer("Hello World!");
		sb.deleteCharAt(0);
		sop(sb.toString());//结果:llo World!
		sb.delete(0, sb.toString().length());//清空缓冲区
		sop(sb.toString());//结果:空
	}
	public static void get(){
		StringBuffer sb=new StringBuffer("Hello World!");
		sop(sb.charAt(1));//结果:e
	}
	public static void update(){
		StringBuffer sb=new StringBuffer("Hello World");
		sop(sb.replace(0, 5, "AAAAA"));//结果 AAAAA World
		StringBuffer sb2=new StringBuffer("ABC");
		sb2.setCharAt(0, 'B');
		sop(sb2.toString());//结果:BBC
	}
	public static void reverse(){
		StringBuffer sb=new StringBuffer("Hello World");
		sop(sb.reverse());//结果 dlroW olleH
	}
	public static void sop(Object o){
		System.out.println(o);
	}
	public static void getChars(){
		StringBuffer sb=new StringBuffer("Hello World!");
		char[] chs=new char[6];
		sb.getChars(1, 4, chs, 1);//从SringBuffer的索引1到索引4的字符存储到字符数组从索引1位依次存储
		for(int x=0;x<chs.length;x++){
			sop("chs["+x+"]="+chs[x]+"");
		}
		
	}
	public static void main(String[] args) {
		append();
		insert();
		delete();
		get();
		update();
		reverse();
		getChars();
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

StringBuffer

标签:

原文地址:http://blog.csdn.net/u012750578/article/details/47069709

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