StringBuffer-StringBuilder概述
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringBuffer-StringBuilder概述相关的知识,希望对你有一定的参考价值。
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概述的主要内容,如果未能解决你的问题,请参考以下文章