Java-StringBuilder类

基本介绍

注意的点

String, StringBuffer, StringBuilder


【基本介绍】

为什么要有 StringBuilder?
(1)StringBuilder,一个可变的字符序列,此类提供一个与StrngBuffer 兼容的API,但不保证同步(即它不是线程安全的)。该类被涉及用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类,因为在大多数是实现中,它比StringBuffer要快。

(2)在 StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。


【注意的点】

image

(1)实现了Serializable接口,说明StringBuilder对象是可以串行化的(对象可以网络传输,可以保存到文件);

(2)Serializable对象字符序列仍然是存放在其父类,AbstractStringBuilder的 char[] value,即字符序列在堆中;

(3)StringBuilder 的方法,没有做互斥的处理,即没有 synchronized 关键字,因此在单线程的情况下使用StringBuilder。


【String, StringBuffer, StringBuilder】

三者比较:

(1)StringBuffer 和 StringBuilder非常类似,均代表可变的字符序列,而且方法也一样;

(2)String : 不可变字符序列,效率低,但是复用率高;

(3)StringBuffer :可变字符序列、效率较高(增删)、线程安全;

(4)StringBuilder :可变字符序列、效率最高、线程不安全。

使用场合:

image

posted @ 2021-09-26 21:38  Wiiiimp  阅读(34)  评论(0编辑  收藏  举报