2017-11-02 20:57:02
StringBuffer:线程安全的可变字符序列。一个类似于 String
的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
另外,Java中还提供了StringBuilder类,此类提供一个与 StringBuffer
兼容的 API,但不保证同步。该类被设计用作 StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer
要快。
*构造方法
*常用方法
- 添加功能
public StringBuffer append(String str):可以把任意类型添加到字符串缓冲区。
public StringBuffer insert(int dstOffset, CharSequence s):将指定 CharSequence
插入此序列中。按顺序将 CharSequence
参数中的字符插入此序列中的指定位置,位于该位置处的原来的字符则将向后推移,此序列将增加该参数的长度。
- 删除功能
public StringBuffer delete(int start, int end):移除此序列的子字符串中的字符。该子字符串从指定的 start
处开始,一直到索引 end - 1
处的字符,如果不存在这种字符,则一直到序列尾部。如果 start
等于 end
,则不发生任何更改。
public StringBuffer deleteCharAt(int index):移除此序列指定位置的 char
。此序列将缩短一个 char
。
- 其他功能
public StringBuffer replace(int start, int end, String str):使用给定 String
中的字符替换此序列的子字符串中的字符。该子字符串从指定的 start
处开始,一直到索引 end - 1
处的字符,如果不存在这种字符,则一直到序列尾部。先将子字符串中的字符移除,然后将指定的 String
插入 start
。(如果需要,序列将延长以适应指定的字符串。)
public StringBuffer reverse():将此字符序列用其反转形式取代。
public String substring(int start):返回一个新的 String
,它包含此字符序列当前所包含的字符子序列。该子字符串始于指定索引处的字符,一直到此字符串末尾。返回String。
public String substring(int start, int end):返回一个新的 String
,它包含此序列当前所包含的字符子序列。该子字符串从指定的 start
处开始,一直到索引 end - 1
处的字符。返回String。
public String toString():返回此序列中数据的字符串表示形式。