java.lang.StringBuffer and
java.lang.String It has a special method getValue() which returns the internal
char array.
Hashcode and equals methods are also implemented.
This AppendingStringBuffer is not synchronized.
java.lang.StringBufferlength argument.
length
the initial capacity.java.lang.NegativeArraySizeException
if the length argument is less than 0.16 plus the
length of the string argument.
str
the initial contents of the buffer.java.lang.NullPointerException
if str is nullminimumCapacity argument.
2.
minimumCapacity argument is nonpositive, this method takes no action
and simply returns.
minimumCapacity
the minimum desired capacity.minimumCapacityjava.lang.StringBuffer.ensureCapacity(int)newLength, the character at index k in the new
character sequence is the same as the character at index k in the old sequence if
k is less than the length of the old character sequence; otherwise, it is the null
character '\u0000'.
In other words, if the newLength argument is less than the current length of
the string buffer, the string buffer is truncated to contain exactly the number of characters
given by the newLength argument.
If the newLength argument is greater than or equal to the current length,
sufficient null characters ('\u0000') are appended to the string buffer
so that length becomes the newLength argument.
The newLength argument must be greater than or equal to 0.
newLength
the new length of the buffer.java.lang.IndexOutOfBoundsException
if the newLength argument is negative.java.lang.StringBuffer.length()index argument, is returned. The first character of a string
buffer is at index 0, the next at index 1, and so on, for
array indexing.
The index argument must be greater than or equal to 0, and less than the
length of this string buffer.
index
the index of the desired character.java.lang.IndexOutOfBoundsException
if index is negative or greater than or equal to
length().java.lang.StringBuffer.length()dst. The first character to be copied is at index srcBegin;
the last character to be copied is at index srcEnd-1. The total number of
characters to be copied is srcEnd-srcBegin. The characters are copied into
the subarray of dst starting at index dstBegin and ending at
index:
dstbegin + (srcEnd - srcBegin) - 1
srcBegin
start copying at this offset in the string buffer.srcEnd
stop copying at this offset in the string buffer.dst
the array to copy the data into.dstBegin
offset into dst.java.lang.NullPointerException
if dst is null.java.lang.IndexOutOfBoundsException
if any of the following is true:
srcBegin is negative
dstBegin is negative
srcBegin argument is greater than the
srcEnd argument.
srcEnd is greater than this.length(), the
current length of this string buffer.
dstBegin+srcEnd-srcBegin is greater than
dst.length
ch. The
string buffer is altered to represent a new character sequence that is identical to the old
character sequence, except that it contains the character ch at position
index.
The index argument must be greater than or equal to 0, and less than the
length of this string buffer.
index
the index of the character to modify.ch
the new character.java.lang.IndexOutOfBoundsException
if index is negative or greater than or equal to
length().java.lang.StringBuffer.length()Object argument to this string
buffer.
The argument is converted to a string as if by the method String.valueOf, and
the characters of that string are then appended to this string buffer.
obj
an Object.AppendingStringBuffer object.java.lang.String.valueOf(java.lang.Object)java.lang.StringBuffer.append(java.lang.String)
The characters of the String argument are appended, in order, to the contents
of this string buffer, increasing the length of this string buffer by the length of the
argument. If str is null, then the four characters
"null" are appended to this string buffer.
Let n be the length of the old character sequence, the one contained in the string
buffer 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 str.
str
a string.AppendingStringBuffer.The characters of the AppendingStringBuffer argument are appended, in order, to the contents of this AppendingStringBuffer, increasing the length of this AppendingStringBuffer by the length of the argument. If sb is null, then the four characters "null" are appended to this AppendingStringBuffer.
Let n be the length of the old character sequence, the one contained in the
AppendingStringBuffer 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.
The method ensureCapacity is first called on this AppendingStringBuffer with the new buffer length as its argument. (This ensures that the storage of this AppendingStringBuffer is adequate to contain the additional characters being appended.)
sb
the AppendingStringBuffer to append.The characters of the AppendingStringBuffer argument are appended, in order, to the contents of this AppendingStringBuffer, increasing the length of this AppendingStringBuffer by the length of the argument. If sb is null, then the four characters "null" are appended to this AppendingStringBuffer.
Let n be the length of the old character sequence, the one contained in the
AppendingStringBuffer 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.
The method ensureCapacity is first called on this AppendingStringBuffer with the new buffer length as its argument. (This ensures that the storage of this AppendingStringBuffer is adequate to contain the additional characters being appended.)
sb
the AppendingStringBuffer to append.The characters of the AppendingStringBuffer argument are appended, in order, to the contents of this AppendingStringBuffer, increasing the length of this AppendingStringBuffer by the length of the argument. If sb is null, then the four characters "null" are appended to this AppendingStringBuffer.
Let n be the length of the old character sequence, the one contained in the
AppendingStringBuffer 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.
The method ensureCapacity is first called on this AppendingStringBuffer with the new buffer length as its argument. (This ensures that the storage of this AppendingStringBuffer is adequate to contain the additional characters being appended.)
sb
the AppendingStringBuffer to append.from
The index where it must start fromlength
The length that must be copiedchar array argument to this string
buffer.
The characters of the array argument are appended, in order, to the contents of this string buffer. The length of this string buffer increases by the length of the argument.
The overall effect is exactly as if the argument were converted to a string by the method
and the characters of that string were then
java.lang.String.valueOf(char[])appended to this AppendingStringBuffer object.
str
the characters to be appended.AppendingStringBuffer object.char array argument to
this string buffer.
Characters of the character array str, starting at index offset,
are appended, in order, to the contents of this string buffer. The length of this string
buffer increases by the value of len.
The overall effect is exactly as if the arguments were converted to a string by the method
and the characters of that string were then
java.lang.String.valueOf(char[],int,int)appended to this AppendingStringBuffer object.
str
the characters to be appended.offset
the index of the first character to append.len
the number of characters to append.AppendingStringBuffer object.boolean argument to the string
buffer.
The argument is converted to a string as if by the method String.valueOf, and
the characters of that string are then appended to this string buffer.
b
a boolean.AppendingStringBuffer.java.lang.String.valueOf(boolean)java.lang.StringBuffer.append(java.lang.String)char argument to this string buffer.
The argument is appended to the contents of this string buffer. The length of this string
buffer increases by 1.
The overall effect is exactly as if the argument were converted to a string by the method
and the character in that string were then
java.lang.String.valueOf(char)appended to this AppendingStringBuffer object.
c
a char.AppendingStringBuffer object.int argument to this string buffer.
The argument is converted to a string as if by the method String.valueOf, and
the characters of that string are then appended to this string buffer.
i
an int.AppendingStringBuffer object.java.lang.String.valueOf(int)java.lang.StringBuffer.append(java.lang.String)long argument to this string buffer.
The argument is converted to a string as if by the method String.valueOf, and
the characters of that string are then appended to this string buffer.
l
a long.AppendingStringBuffer object.java.lang.String.valueOf(long)java.lang.StringBuffer.append(java.lang.String)float argument to this string buffer.
The argument is converted to a string as if by the method String.valueOf, and
the characters of that string are then appended to this string buffer.
f
a float.AppendingStringBuffer object.java.lang.String.valueOf(float)java.lang.StringBuffer.append(java.lang.String)double argument to this string
buffer.
The argument is converted to a string as if by the method String.valueOf, and
the characters of that string are then appended to this string buffer.
d
a double.AppendingStringBuffer object.java.lang.String.valueOf(double)java.lang.StringBuffer.append(java.lang.String)AppendingStringBuffer. The
substring begins at the specified start and extends to the character at index
end - 1 or to the end of the AppendingStringBuffer if no such
character exists. If start is equal to end, no changes are
made.
start
The beginning index, inclusive.end
The ending index, exclusive.java.lang.StringIndexOutOfBoundsException
if start is negative, greater than length(), or
greater than end.AppendingStringBuffer
(shortening the AppendingStringBuffer by one character).
index
Index of character to removejava.lang.StringIndexOutOfBoundsException
if the index is negative or greater than or equal to
length().AppendingStringBuffer with
characters in the specified String. The substring begins at the specified
start and extends to the character at index end - 1 or to the
end of the AppendingStringBuffer if no such character exists. First the
characters in the substring are removed and then the specified String is
inserted at start. (The AppendingStringBuffer will be
lengthened to accommodate the specified String if necessary.)
start
The beginning index, inclusive.end
The ending index, exclusive.str
String that will replace previous contents.java.lang.StringIndexOutOfBoundsException
if start is negative, greater than length(), or
greater than end.String that contains a subsequence of characters currently
contained in this AppendingStringBuffer.The substring begins at the specified
index and extends to the end of the AppendingStringBuffer.
start
The beginning index, inclusive.java.lang.StringIndexOutOfBoundsException
if start is less than zero, or greater than the length of this
AppendingStringBuffer.An invocation of this method of the form
behaves in exactly the same way as the invocationsb.subSequence(begin, end)
This method is provided so that the AppendingStringBuffer class can implement thesb.substring(begin, end)
java.lang.CharSequence interface.
start
the start index, inclusive.end
the end index, exclusive.java.lang.IndexOutOfBoundsException
if start or end are negative, if end is greater
than length(), or if start is greater than endString that contains a subsequence of characters currently
contained in this AppendingStringBuffer. The substring begins at the
specified start and extends to the character at index end - 1.
An exception is thrown if
start
The beginning index, inclusive.end
The ending index, exclusive.java.lang.StringIndexOutOfBoundsException
if start or end are negative or greater than
length(), or start is greater than
end.str array argument into
this string buffer. The subarray begins at the specified offset and extends
len characters. The characters of the subarray are inserted into this string
buffer at the position indicated by index. The length of this
AppendingStringBuffer increases by len characters.
index
position at which to insert subarray.str
A character array.offset
the index of the first character in subarray to to be inserted.len
the number of characters in the subarray to to be inserted.java.lang.StringIndexOutOfBoundsException
if index is negative or greater than length(),
or offset or len are negative, or
(offset+len) is greater than str.length.Object argument into this string
buffer.
The second argument is converted to a string as if by the method String.valueOf,
and the characters of that string are then inserted into this string buffer at the indicated
offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.obj
an Object.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.String.valueOf(java.lang.Object)insert(int,java.lang.String)length()
The characters of the String argument are inserted, in order, into this string
buffer at the indicated offset, moving up any characters originally above that position and
increasing the length of this string buffer by the length of the argument. If
str is null, then the four characters "null"
are inserted into this string buffer.
The character at index k in the new character sequence is equal to:
offset
-offset in the argument str,
if k is not less than offset but is less than
offset+str.length()
-str.length() in the old character
sequence, if k is not less than offset+str.length()
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.str
a string.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.StringBuffer.length()
The characters of the String argument are inserted, in order, into this string
buffer at the indicated offset, moving up any characters originally above that position and
increasing the length of this string buffer by the length of the argument. If
str is null, then the four characters "null"
are inserted into this string buffer.
The character at index k in the new character sequence is equal to:
offset
-offset in the argument str,
if k is not less than offset but is less than
offset+str.length()
-str.length() in the old character
sequence, if k is not less than offset+str.length()
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.str
a string.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.StringBuffer.length()char array argument into this string
buffer.
The characters of the array argument are inserted into the contents of this string buffer at
the position indicated by offset. The length of this string buffer increases
by the length of the argument.
The overall effect is exactly as if the argument were converted to a string by the method
and the characters of that string were then
java.lang.String.valueOf(char[])inserted into this AppendingStringBuffer object at
the position indicated by offset.
offset
the offset.str
a character array.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.boolean argument into this string
buffer.
The second argument is converted to a string as if by the method String.valueOf,
and the characters of that string are then inserted into this string buffer at the indicated
offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.b
a boolean.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.String.valueOf(boolean)java.lang.StringBuffer.insert(int,java.lang.String)java.lang.StringBuffer.length()char argument into this string
buffer.
The second argument is inserted into the contents of this string buffer at the position
indicated by offset. The length of this string buffer increases by one.
The overall effect is exactly as if the argument were converted to a string by the method
and the character in that string were then
java.lang.String.valueOf(char)inserted into this AppendingStringBuffer object
at the position indicated by offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.c
a char.AppendingStringBuffer object.java.lang.IndexOutOfBoundsException
if the offset is invalid.java.lang.StringBuffer.length()int argument into this string
buffer.
The second argument is converted to a string as if by the method String.valueOf,
and the characters of that string are then inserted into this string buffer at the indicated
offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.i
an int.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.String.valueOf(int)java.lang.StringBuffer.insert(int,java.lang.String)java.lang.StringBuffer.length()long argument into this string
buffer.
The second argument is converted to a string as if by the method String.valueOf,
and the characters of that string are then inserted into this string buffer at the position
indicated by offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.l
a long.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.String.valueOf(long)java.lang.StringBuffer.insert(int,java.lang.String)java.lang.StringBuffer.length()float argument into this string
buffer.
The second argument is converted to a string as if by the method String.valueOf,
and the characters of that string are then inserted into this string buffer at the indicated
offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.f
a float.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.String.valueOf(float)java.lang.StringBuffer.insert(int,java.lang.String)java.lang.StringBuffer.length()double argument into this string
buffer.
The second argument is converted to a string as if by the method String.valueOf,
and the characters of that string are then inserted into this string buffer at the indicated
offset.
The offset argument must be greater than or equal to 0, and less than or
equal to the length of this string buffer.
offset
the offset.d
a double.AppendingStringBuffer object.java.lang.StringIndexOutOfBoundsException
if the offset is invalid.java.lang.String.valueOf(double)java.lang.StringBuffer.insert(int,java.lang.String)java.lang.StringBuffer.length()
this.toString().startsWith(str, <i>k</i>)
is true.
str
any string.-1 is returned.java.lang.NullPointerException
if str is null.If no such value of k exists, then -1 is returned.k >= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
str
the substring for which to search.fromIndex
the index from which to start the search.java.lang.NullPointerException
if str is null.this.length(). The returned index is the largest value k such that
is true.this.toString().startsWith(str, k)
str
the substring to search for.-1 is returned.java.lang.NullPointerException
if str is null.If no such value of k exists, then -1 is returned.k <= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
str
the substring to search for.fromIndex
the index to start the search from.java.lang.NullPointerException
if str is null.prefix
the prefix.toffset
where to begin looking in the string.true if the character sequence represented by the argument is a prefix
of the substring of this object starting at index toffset;
false otherwise. The result is false if
toffset is negative or greater than the length of this
String object; otherwise the result is the same as the result of the
expression
this.subString(toffset).startsWith(prefix)
prefix
the prefix.true if the character sequence represented by the argument is a prefix
of the character sequence represented by this AppendingStringBuffer;
false otherwise. Note also that true will be returned
if the argument is an empty string or is equal to this
AppendingStringBuffer object as determined by the
equals(java.lang.Object) method.suffix
the suffix.true if the character sequence represented by the argument is a suffix
of the character sequence represented by this AppendingStringBuffer;
false otherwise. Note that the result will be true if
the argument is the empty string or is equal to this
AppendingStringBuffer object as determined by the
equals(java.lang.Object) method.String object is allocated and initialized to contain the character sequence
currently represented by this string buffer. This String is then returned.
Subsequent changes to the string buffer do not affect the contents of the String.
Implementation advice: This method can be coded so as to create a new String
object without allocating new memory to hold a copy of the character sequence. Instead, the
string can share the memory used by the string buffer. Any subsequent operation that alters
the content or capacity of the string buffer must then make a copy of the internal buffer at
that time. This strategy is effective for reducing the amount of memory allocated by a string
concatenation operation when it is implemented using a string buffer.
sjava.lang.ClassNotFoundExceptionjava.io.IOExceptionprivate voidreadObject(java.io.ObjectInputStream s) throws IOException, ClassNotFoundException
true
if and only if the argument is not null and is a
AppendingStringBuffer object or another charsequence object! that represents
the same sequence of characters as this object.
anObject
the object to compare this AppendingStringBuffer against.true if the AppendingStringBufferare equal;
false otherwise.AppendingStringBuffer object is computed as
s[0]*31ˆ(n-1) + s[1]*31ˆ(n-2) + ... + s[n-1]
using int arithmetic, where s[i] is the ith
character of the AppendingStringBuffer, n is the length of the
AppendingStringBuffer, and ^ indicates exponentiation. (The hash value of the
empty AppendingStringBuffer is zero.)