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

StringBuffer-StringBuilder概述

时间:2016-05-21 16:07:15      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:string   buffer   

StringBuffer  (Buffer学名为缓冲区)

字符串的组成原理就是通过该类实现的。

StringBuffer是一个容器。可以对字符串内容进行增删。StingBuffer是可变长度的。

很多方法与String相同。

 

    线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 

    

        Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的。字符串转换是通过 toString 方法实现的,该方法由 Object 类定义,并可被 Java 中的所有类继承。


* StringBuffer,字符串缓冲区。

     *  特点:

     *  1,可以存储任意类型的数据。

     *  2,长度不固定。

     *  3,无论存储什么类型的元素,存储进来以后最终都会变成字符串。

     *  

     *  

     *  容器常见功能:

     *  1,添加,插入。

     *  append  insert./大量的重载

     *  2,删除。

     *  3,替换。

 

	@Test
	public void test00(){
		// 创建一个字符串缓冲区对象。
		StringBuffer sb = new StringBuffer();
		// 添加元素。
//		sb.append("abc").append(true);
//		sb.append(new Object());
//		System.out.println(sb.toString());
//		System.out.println(sb.length());
			
		//想要在任意位置插入指定的数据。
		sb.append("abcd");
//		sb.insert(2, "qq");//abqqcd,指定位置上开始插入
//		System.out.println(sb);
		//删除。
//		sb.delete(1, 3);//包含头不包含尾
//		System.out.println(sb);
		//替换/。
//		sb.replace(1, 4, "ak47");
//		sb.reverse();
//		sb.setCharAt(2, ‘K‘);
//		System.out.println(sb);
		
		sb.setLength(3);//前3个字符
		sb.setLength(6);//缓冲区已经被前一条语句修改过了
		System.out.println(sb+"-");
		
		String str = "a"+7+‘q‘+true;
		System.out.println(str);
		str = new StringBuffer().append("a").append(7).append(‘q‘).append(true).toString();
		System.out.println(str);
	}


StringBuilder特点

     *  JDK1.5版本出现了StringBuilder。

     *  StringBuffer是线程安全的。有锁。多线程访问同一个容器。

     *  StringBuilder是线程不安全的。没锁。效率高

 

StringBuffer-StringBuilder概述

标签:string   buffer   

原文地址:http://8477424.blog.51cto.com/8467424/1775656

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