一个可变的字符序列。 此类提供与StringBuffer兼容的API,但不保证同步。 此类设计用作StringBuffer替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)。 在可能的情况下,建议使用此类优先于StringBuffer因为在大多数实现中它会更快。
StringBuilder上的主要操作是append和insert方法,它们被重载以便接受任何类型的数据。 每个都有效地将给定的数据转换为字符串,然后将该字符串的字符追加或插入到字符串构建器中。 append方法始终在构建器的末尾添加这些字符; insert方法在指定点添加字符。
例如,如果z引用其当前内容为“ start ”的字符串构建器对象,则方法调用z.append("le")将导致字符串构建器包含“ startle ”,而z.insert(4, "le")将更改字符串构建器以包含“ starlet ”。
一般情况下,如果某人是指的一个实例StringBuilder ,然后sb.append(x)具有相同的效果sb.insert(sb.length(), x) 。
每个字符串构建器都有容量。 只要字符串生成器中包含的字符序列的长度不超过容量,就不必分配新的内部缓冲区。 如果内部缓冲区溢出,它会自动变大。
StringBuilder实例不适合多线程使用。 如果需要这样的同步,则建议使用StringBuilder 。
除非另有说明,否则将null参数传递给null中的构造函数或方法将导致抛出
NullPointerException。
欢迎大家批评指正,指出问题,谢谢!