//StringBuffer与StringBuider:

//StringBuffer是一个字符序列,与String略不同的是,它可以改变其长度与内容而不会创建新对象,因为操作结果是用于StringBuffer串本身

//适合大型文本的处理,而且StringBuffer具有线程安全性,采用同步机制,不允许多个线程同时对StringBuffer对象进行增加或修改

//常见的构造方法:StringBuffer():建立一个不包含任何文本的StringBuffer对象,可以以后添加其内容,初始容量为16.

//StringBuffer(int capacity):建立容量为capacity的StringBuffer对象,不包含任何文本

//StringBuffer(String str):用参数str来创建StringBuffer对象

//随着文本的增加,字符串的长度在不断增大,当长度大于StringBuffer对象现有容量时,java会自动增加其容量。所以在追加,插入操作不必考虑容量问题

//由于StringBuffer类具有线程安全要求,会影响呈现运行效率,所以在jdk5.0开始增加StringBuilder类,该类与StringBuffer有相同的API,但不具有线程安全性

//同等的情况下执行效率会更高一些。所以StringBuffer与StringBuilder功能相同,在安全性与执行效率上有些差异

下面展示一些 内联代码片

package hanjia;
	public class hanjia{
	public static void main(String args[]) {
		StringBuffer sb=new StringBuffer("123456abcdefghijklmn");
		//toString将StringBuffer对象转换为String对象
		System.out.println("输出字符串内容:"+sb.toString());
		System.out.println("字符串的长度sb.length():"+sb.length());
		System.out.println("获取缓冲字符串的容量大小,值=字符串长度+16:"+sb.capacity());
		System.out.println();
		
		//修改长度后,缓冲字符串的内容与长度变化,但容量不变,初始化的时候已经是sb.length+16,所以只要不超过该值()就不会变,否则就会翻倍增加容量
		//
		System.out.println("设置sb的新长度为15");
		sb.setLength(15);
		System.out.println("输出字符串内容:"+sb.toString());
		System.out.println("字符串的长度sb.length():"+sb.length());
		System.out.println("获取缓冲字符串的容量大小,值=字符串长度+16:"+sb.capacity());
		System.out.println();
		
		System.out.println("获取缓冲字符串上指定位置的字符:"+sb.charAt(5));//下标从零开始
		sb.setCharAt(5, '9');
		System.out.println(sb);
		//这样写有误,有误setCharAt返回值是空的,System.out.println("设置缓冲字符串上指定位置的字符:"+sb.setCharAt(5,'9');
		System.out.println("substring获取字符串从该位置到结尾:"+sb.substring(5));
		System.out.println("substring获取字符串从该位置到结束位置:"+sb.substring(5,10));
		System.out.println("输出sb内容:"+sb.toString());
		System.out.println();
		
		char ch[]= {'a','k','4','7','g','o'};
		//append将括号里的某种数据类型(可以是基本数据类型,对象类型,数组等)的变量插入字符串序列中
		sb.append("ABCDEFJHIJKLMNOP");
		sb.insert(0, ch);
		System.out.println("增加与插入字符后sb:"+sb.toString());
		System.out.println("字符串的长度sb.length():"+sb.length());
		//初始化的时候已经是sb.length+16,所以只要不超过该值(即本例为36=20+16)就不会变,否则就会翻倍增加(36*2+2)容量
		System.out.println("获取缓冲字符串的容量大小,值=字符串长度+16:"+sb.capacity());
		System.out.println();
		
		//将缓冲字符串中从5到10(数头不数尾,下标从零开始)的字符串用"爱老虎油"替换
		sb.replace(5, 10,"爱老虎油");
		System.out.println("替换后的字符串:"+sb.toString());
		//删除缓冲字符串指定位置的字符
		sb.delete(5, 10);
		System.out.println("删除后的得到的字符串:"+sb.toString());
		//将缓冲字符串的字符以逆序返回
		sb.reverse();
		System.out.println("逆序后的字符串:"+sb.toString());
	}
}

java加头部cookies_java

个人理解及资料参考,若有不足或者需要扩展请指点。