Java-StringBuilder类
基本介绍
注意的点
String, StringBuffer, StringBuilder
【基本介绍】
为什么要有 StringBuilder?
(1)StringBuilder,一个可变的字符序列,此类提供一个与StrngBuffer 兼容的API,但不保证同步(即它不是线程安全的)。该类被涉及用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类,因为在大多数是实现中,它比StringBuffer要快。
(2)在 StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。
【注意的点】
(1)实现了Serializable接口,说明StringBuilder对象是可以串行化的(对象可以网络传输,可以保存到文件);
(2)Serializable对象字符序列仍然是存放在其父类,AbstractStringBuilder的 char[] value,即字符序列在堆中;
(3)StringBuilder 的方法,没有做互斥的处理,即没有 synchronized 关键字,因此在单线程的情况下使用StringBuilder。
【String, StringBuffer, StringBuilder】
三者比较:
(1)StringBuffer 和 StringBuilder非常类似,均代表可变的字符序列,而且方法也一样;
(2)String : 不可变字符序列,效率低,但是复用率高;
(3)StringBuffer :可变字符序列、效率较高(增删)、线程安全;
(4)StringBuilder :可变字符序列、效率最高、线程不安全。
使用场合: