Save This Page
Home » openjdk-7 » java » lang » [javadoc | source]
java.lang
public final class: StringBuffer [javadoc | source]
java.lang.Object
   java.lang.AbstractStringBuilder
      java.lang.StringBuffer

All Implemented Interfaces:
    CharSequence, java$io$Serializable, Appendable

A thread-safe, mutable sequence of characters. A string buffer is like a String , but can be modified. At any point in time it contains some particular sequence of characters, but the length and content of the sequence can be changed through certain method calls.

String buffers are safe for use by multiple threads. The methods are synchronized where necessary so that all the operations on any particular instance behave as if they occur in some serial order that is consistent with the order of the method calls made by each of the individual threads involved.

The principal operations on a StringBuffer are the append and insert methods, which are overloaded so as to accept data of any type. Each effectively converts a given datum to a string and then appends or inserts the characters of that string to the string buffer. The append method always adds these characters at the end of the buffer; the insert method adds the characters at a specified point.

For example, if z refers to a string buffer object whose current contents are "start", then the method call z.append("le") would cause the string buffer to contain "startle", whereas z.insert(4, "le") would alter the string buffer to contain "starlet".

In general, if sb refers to an instance of a StringBuffer, then sb.append(x) has the same effect as sb.insert(sb.length(), x).

Whenever an operation occurs involving a source sequence (such as appending or inserting from a source sequence) this class synchronizes only on the string buffer performing the operation, not on the source.

Every string buffer has a capacity. As long as the length of the character sequence contained in the string buffer does not exceed the capacity, it is not necessary to allocate a new internal buffer array. If the internal buffer overflows, it is automatically made larger. As of release JDK 5, this class has been supplemented with an equivalent class designed for use by a single thread, StringBuilder . The StringBuilder class should generally be used in preference to this one, as it supports all of the same operations but it is faster, as it performs no synchronization.

Field Summary
static final  long serialVersionUID    use serialVersionUID from JDK 1.0.2 for interoperability 
Fields inherited from java.lang.AbstractStringBuilder:
value,  count
Constructor:
 public StringBuffer() 
 public StringBuffer(int capacity) 
 public StringBuffer(String str) 
    Constructs a string buffer initialized to the contents of the specified string. The initial capacity of the string buffer is 16 plus the length of the string argument.
    Parameters:
    str - the initial contents of the buffer.
    Throws:
    NullPointerException - if str is null
    exception: NullPointerException - if str is null
 public StringBuffer(CharSequence seq) 
    Constructs a string buffer that contains the same characters as the specified CharSequence. The initial capacity of the string buffer is 16 plus the length of the CharSequence argument.

    If the length of the specified CharSequence is less than or equal to zero, then an empty buffer of capacity 16 is returned.

    Parameters:
    seq - the sequence to copy.
    Throws:
    NullPointerException - if seq is null
    exception: NullPointerException - if seq is null
    since: 1.5 -
Method from java.lang.StringBuffer Summary:
append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   appendCodePoint,   capacity,   charAt,   codePointAt,   codePointBefore,   codePointCount,   delete,   deleteCharAt,   ensureCapacity,   getChars,   indexOf,   indexOf,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   lastIndexOf,   lastIndexOf,   length,   offsetByCodePoints,   replace,   reverse,   setCharAt,   setLength,   subSequence,   substring,   substring,   toString,   trimToSize
Methods from java.lang.AbstractStringBuilder:
append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   append,   appendCodePoint,   capacity,   charAt,   codePointAt,   codePointBefore,   codePointCount,   delete,   deleteCharAt,   ensureCapacity,   expandCapacity,   getChars,   getValue,   indexOf,   indexOf,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   insert,   lastIndexOf,   lastIndexOf,   length,   offsetByCodePoints,   replace,   reverse,   setCharAt,   setLength,   subSequence,   substring,   substring,   toString,   trimToSize
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from java.lang.StringBuffer Detail:
 public synchronized StringBuffer append(Object obj) 
 public synchronized StringBuffer append(String str) 
 public synchronized StringBuffer append(StringBuffer sb) 
    Appends the specified StringBuffer to this sequence.

    The characters of the StringBuffer argument are appended, in order, to the contents of this StringBuffer, increasing the length of this StringBuffer by the length of the argument. If sb is null, then the four characters "null" are appended to this StringBuffer.

    Let n be the length of the old character sequence, the one contained in the StringBuffer just prior to execution of the append method. Then the character at index k in the new character sequence is equal to the character at index k in the old character sequence, if k is less than n; otherwise, it is equal to the character at index k-n in the argument sb.

    This method synchronizes on this (the destination) object but does not synchronize on the source (sb).

 public StringBuffer append(CharSequence s) 
    Appends the specified CharSequence to this sequence.

    The characters of the CharSequence argument are appended, in order, increasing the length of this sequence by the length of the argument.

    The result of this method is exactly the same as if it were an invocation of this.append(s, 0, s.length());

    This method synchronizes on this (the destination) object but does not synchronize on the source (s).

    If s is null, then the four characters "null" are appended.

 public synchronized StringBuffer append(char[] str) 
 public synchronized StringBuffer append(boolean b) 
 public synchronized StringBuffer append(char c) 
 public synchronized StringBuffer append(int i) 
 public synchronized StringBuffer append(long lng) 
 public synchronized StringBuffer append(float f) 
 public synchronized StringBuffer append(double d) 
 public synchronized StringBuffer append(CharSequence s,
    int start,
    int end) 
 public synchronized StringBuffer append(char[] str,
    int offset,
    int len) 
 public synchronized StringBuffer appendCodePoint(int codePoint) 
 public synchronized int capacity() 
 public synchronized char charAt(int index) 
 public synchronized int codePointAt(int index) 
 public synchronized int codePointBefore(int index) 
 public synchronized int codePointCount(int beginIndex,
    int endIndex) 
 public synchronized StringBuffer delete(int start,
    int end) 
 public synchronized StringBuffer deleteCharAt(int index) 
 public synchronized  void ensureCapacity(int minimumCapacity) 
 public synchronized  void getChars(int srcBegin,
    int srcEnd,
    char[] dst,
    int dstBegin) 
 public int indexOf(String str) 
 public synchronized int indexOf(String str,
    int fromIndex) 
 public synchronized StringBuffer insert(int offset,
    Object obj) 
 public synchronized StringBuffer insert(int offset,
    String str) 
 public synchronized StringBuffer insert(int offset,
    char[] str) 
 public StringBuffer insert(int dstOffset,
    CharSequence s) 
 public StringBuffer insert(int offset,
    boolean b) 
 public synchronized StringBuffer insert(int offset,
    char c) 
 public StringBuffer insert(int offset,
    int i) 
 public StringBuffer insert(int offset,
    long l) 
 public StringBuffer insert(int offset,
    float f) 
 public StringBuffer insert(int offset,
    double d) 
 public synchronized StringBuffer insert(int index,
    char[] str,
    int offset,
    int len) 
 public synchronized StringBuffer insert(int dstOffset,
    CharSequence s,
    int start,
    int end) 
 public int lastIndexOf(String str) 
 public synchronized int lastIndexOf(String str,
    int fromIndex) 
 public synchronized int length() 
 public synchronized int offsetByCodePoints(int index,
    int codePointOffset) 
 public synchronized StringBuffer replace(int start,
    int end,
    String str) 
 public synchronized StringBuffer reverse() 
 public synchronized  void setCharAt(int index,
    char ch) 
 public synchronized  void setLength(int newLength) 
 public synchronized CharSequence subSequence(int start,
    int end) 
 public synchronized String substring(int start) 
 public synchronized String substring(int start,
    int end) 
 public synchronized String toString() 
 public synchronized  void trimToSize()