黑马程序员----StringBuffer

黑马程序员----StringBuffer_第1张图片

黑马程序员----StringBuffer_第2张图片

JDK1.5才出的StringBuffer,保证线程同步,JDK1.0 StringBuilder不保证线程同步。


黑马程序员----StringBuffer_第3张图片


/*
* StringBuffer:就是字符串缓冲区。
* 用于存储数据的容器。
* 特点:
* 1,长度的可变的。 (原理,会重新创建一个新的数组)
* 2,可以存储不同类型数据。
* 3,最终要转成字符串进行使用。
* 4,可以对字符串进行修改。


* 既然是一个容器对象。应该具备什么功能呢?
* 1,添加:
* StringBuffer append(data);
* StringBuffer insert(index,data);
* 2,删除:
* StringBuffer delete(start,end):包含头,不包含尾。
* StringBuffer deleteCharAt(int index):删除指定位置的元素 
* 3,查找:
* char charAt(index);
* int indexOf(string);
* int lastIndexOf(string);
* 4,修改:
* StringBuffer replace(start,end,string);
* void setCharAt(index,char);

* 增删改查  C(create)U(update)R(read)D(delete) 



*/


package cn.itcast.p2.stringbuffer.demo;

public class StringBufferDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		/*
		 * StringBuffer:就是字符串缓冲区。
		 * 用于存储数据的容器。
		 * 特点:
		 * 1,长度的可变的。 (原理,会重新创建一个新的数组)
		 * 2,可以存储不同类型数据。
		 * 3,最终要转成字符串进行使用。
		 * 4,可以对字符串进行修改。
		 * 
		 * 
		 * 既然是一个容器对象。应该具备什么功能呢?
		 * 1,添加:
		 * 		StringBuffer append(data);
		 * 		StringBuffer insert(index,data);
		 * 2,删除:
		 * 		StringBuffer delete(start,end):包含头,不包含尾。
		 * 		StringBuffer deleteCharAt(int index):删除指定位置的元素 
		 * 3,查找:
		 * 		char charAt(index);
		 * 		int indexOf(string);
		 * 		int lastIndexOf(string);
		 * 4,修改:
		 * 		StringBuffer replace(start,end,string);
		 * 		void setCharAt(index,char);
		 * 
		 * 增删改查  C(create)U(update)R(read)D(delete) 
		 * 
		 * 
		 * 
		 */
		bufferMethodDemo_2();
	}
	
	private static void bufferMethodDemo_2() {
		StringBuffer sb = new StringBuffer("abce");
		
//		sb.delete(1, 3);//ae
		
		//清空缓冲区。
//		sb.delete(0,sb.length());
//		sb = new StringBuffer();
		
//		sb.replace(1, 3, "nba");
//		sb.setCharAt(2, 'q');
		
//		sb.setLength(10);
		
//		System.out.println("sb:"+sb);
//		System.out.println("len:"+sb.length());
		
		System.out.println(sb.reverse());
		
		
	}

	private static void bufferMethodDemo_1() {
		StringBuffer sb = new StringBuffer("abce");
		
//		sb.append("xixi");
		sb.insert(2, "qq");
		
		System.out.println(sb.toString());
	}

	public static void bufferMethodDemo(){
		//创建缓冲区对象。
		StringBuffer sb = new StringBuffer();
		
		sb.append(4).append(false);//.append("haha");
		sb.insert(1, "haha");
//		sb.append(true);
		
		System.out.println(sb);
		
	}
	
	

}

/*
* 基本数据类型对象包装类。
* 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。
* 用于描述该对象的类就称为基本数据类型对象包装类。


* byte Byte
* short Short
* int Integer
* long Long
* float Float
* double Double
* char Character
* boolean Boolean

* 该包装对象主要用基本类型和字符串之间的转换。


* 基本类型--->字符串
* 1,基本类型数值+""
* 2,用String类中的静态方法valueOf(基本类型数值);
* 3,用Integer的静态方法valueO(基本类型数值);


* 字符串--->基本类型
* 1,使用包装类中的静态方法   xxx parseXxx("xxx类型的字符串");*****

* int parseInt("intstring");
* long parseLong("longstring");
* boolean parseBoolean("booleanstring");
* 只有Character没有parse方法 
* 2,如果字符串被Integer进行对象的封装。
* 可使用另一个非静态的方法,intValue();
* 将一个Integer对象转成基本数据类型值。



*/


// System.out.println(Integer.MAX_VALUE);

// System.out.println(Integer.toBinaryString(-6));

// int num = 4;
// Integer i = new Integer(5);

// int x = Integer.parseInt("123");
// System.out.println(Integer.parseInt("123")+1);

// Integer i = new Integer("123");
// System.out.println(i.intValue());


/*
* 整数具备不同的进制体现。

* 十进制-->其他进制。

* toBinaryString
* toOctalString
* toHexString

* 其他进制-->十进制。
* parseInt("string",radix)

*/

// 十进制-->其他进制。


package cn.itcast.p2.wrapper.demo;

public class WrapperDemo2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		int num = 4;
		num = num + 5;
		
		Integer i =  4;//i = new Integer(4);自动装箱  简化书写。
		i = i + 6;// i = new Integer(i.intValue() + 6); //i.intValue() 自动拆箱
		
		
//		show(55);//
		
		
		Integer a = new Integer(128);
		Integer b = new Integer(128);
		
		System.out.println(a==b);//false
		System.out.println(a.equals(b));//true
		
		Integer x = 129;//jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间。
		Integer y = 129;
		System.out.println(x==y);//
		System.out.println(x.equals(y));//true
		
		
	}
	
	public static void show(Object a){//Object a = new Integer(55);
		System.out.println("a="+a);
	}

}


你可能感兴趣的:(黑马程序员----StringBuffer)