目录
一、介绍
二、StringBuilder类的体系图
三、StringBuilder的常用方法
四、String、StringBuffer和StringBuilder比较
1、效率比较
2、如何选择?
一、介绍
- StringBuilder也是lang包中的类,即java.lang.StringBuilder类。
- 它也是一个可变的字符序列。StringBuilder类提供一个与StringBuilder兼容的API,但不保证同步(StringBuilder不是线程安全)。该类被设计用作StringBuilder的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先使用该类,因为在大多数实现中,它比StringBuffer要快。
- 在StringBuilder上的主要操作是append和insert方法,可以重载这些方法,以接收任意类型的数据。
package com.hspedu.Wrapper;
public class StringAndStringBuffer {
public static void main(String[] args) {
//1.StringBuilder 继承 AbstractStringBuilder 类
//2.实现了 Serializable 接口,说明 stringBuilder 对象是可以串行化的(对象可以网络传输,可以保存到文件)
//3.StringBuilder 类是final类,不能被继承
//4.StringBuilder 对象字符序列仍然是存在它的父类 AbstractStringBuilder 中的 char[] value
//因此,字符序列是在堆中
//5.StringBuilder 的方法,没有做互斥处理,即没有 synchronized 关键字,因此在单线程情况下使用
StringBuilder stringBuilder = new StringBuilder();
}
}
二、StringBuilder类的体系图
可以看出StringBuilder的体系图和StringBuffer一样,即StringBuffer中有的方法在StringBuilder中也有。那么为什么还要有StringBuilder呢?
答:因为StringBuilder用在单线程,StringBuffer用在多线程中。
三、StringBuilder的常用方法
和StringBuffer一样,在次就不赘述了。
四、String、StringBuffer和StringBuilder比较
1、效率比较
StringBuilder > StringBuffer > String