public class StringBuilder
extends java.lang.Object
implements java.lang.Appendable, java.lang.CharSequence
StringBuilder
that implements equals and hashcode.CharSequence
,
Appendable
,
StringBuilder
,
String
Constructor and Description |
---|
StringBuilder()
Constructs an instance with an initial capacity of
16 . |
StringBuilder(java.lang.CharSequence seq)
Constructs an instance that's initialized with the contents of the specified
CharSequence . |
StringBuilder(int capacity)
Constructs an instance with the specified capacity.
|
StringBuilder(java.lang.String string)
Constructs an instance that's initialized with the contents of the specified
String . |
StringBuilder(StringBuilder builder) |
Modifier and Type | Method and Description |
---|---|
StringBuilder |
append(boolean b)
Appends the string representation of the specified
boolean value. |
StringBuilder |
append(char c)
Appends the string representation of the specified
char value. |
StringBuilder |
append(char[] ch)
Appends the string representation of the specified
char[] . |
StringBuilder |
append(char[] str,
int offset,
int len)
Appends the string representation of the specified subset of the
char[] . |
StringBuilder |
append(java.lang.CharSequence csq)
Appends the string representation of the specified
CharSequence . |
StringBuilder |
append(java.lang.CharSequence csq,
int start,
int end)
Appends the string representation of the specified subsequence of the
CharSequence . |
StringBuilder |
append(double d)
Appends the string representation of the specified
double value. |
StringBuilder |
append(float f)
Appends the string representation of the specified
float value. |
StringBuilder |
append(int value)
Appends the string representation of the specified
int value. |
StringBuilder |
append(int value,
int minLength)
Appends the string representation of the specified
int value. |
StringBuilder |
append(int value,
int minLength,
char prefix)
Appends the string representation of the specified
int value. |
StringBuilder |
append(long value)
Appends the string representation of the specified
long value. |
StringBuilder |
append(long value,
int minLength)
Appends the string representation of the specified
long value. |
StringBuilder |
append(long value,
int minLength,
char prefix)
Appends the string representation of the specified
long value. |
StringBuilder |
append(java.lang.Object obj)
Appends the string representation of the specified
Object . |
StringBuilder |
append(java.lang.String str)
Appends the contents of the specified string.
|
StringBuilder |
append(StringBuilder builder) |
StringBuilder |
append(StringBuilder builder,
int start,
int end) |
StringBuilder |
appendCodePoint(int codePoint)
Appends the encoded Unicode code point.
|
StringBuilder |
appendLine(java.lang.String str)
Appends the contents of the specified string, then create a new line.
|
int |
capacity()
Returns the number of characters that can be held without growing.
|
char |
charAt(int index)
Retrieves the character at the
index . |
void |
clear()
Sets length to 0.
|
int |
codePointAt(int index)
Retrieves the Unicode code point value at the
index . |
int |
codePointBefore(int index)
Retrieves the Unicode code point value that precedes the
index . |
int |
codePointCount(int beginIndex,
int endIndex)
Calculates the number of Unicode code points between
beginIndex and endIndex . |
boolean |
contains(java.lang.String subString) |
boolean |
containsIgnoreCase(java.lang.String subString) |
StringBuilder |
delete(int start,
int end)
Deletes a sequence of characters specified by
start and end . |
StringBuilder |
deleteCharAt(int index)
Deletes the character at the specified index.
|
void |
ensureCapacity(int min)
Ensures that this object has a minimum capacity available before requiring the internal buffer to be enlarged.
|
boolean |
equals(java.lang.Object obj) |
boolean |
equalsIgnoreCase(java.lang.String other) |
boolean |
equalsIgnoreCase(StringBuilder other) |
void |
getChars(int start,
int end,
char[] dest,
int destStart)
Copies the requested sequence of characters to the
char[] passed starting at destStart . |
int |
hashCode() |
int |
indexOf(java.lang.String string)
Searches for the first index of the specified character.
|
int |
indexOf(java.lang.String subString,
int start)
Searches for the index of the specified character.
|
int |
indexOfIgnoreCase(java.lang.String subString,
int start) |
StringBuilder |
insert(int offset,
boolean b)
Inserts the string representation of the specified
boolean value at the specified offset . |
StringBuilder |
insert(int offset,
char c)
Inserts the string representation of the specified
char value at the specified offset . |
StringBuilder |
insert(int offset,
char[] ch)
Inserts the string representation of the specified
char[] at the specified offset . |
StringBuilder |
insert(int offset,
char[] str,
int strOffset,
int strLen)
Inserts the string representation of the specified subsequence of the
char[] at the specified offset . |
StringBuilder |
insert(int offset,
java.lang.CharSequence s)
Inserts the string representation of the specified
CharSequence at the specified offset . |
StringBuilder |
insert(int offset,
java.lang.CharSequence s,
int start,
int end)
Inserts the string representation of the specified subsequence of the
CharSequence at the specified offset . |
StringBuilder |
insert(int offset,
double d)
Inserts the string representation of the specified
double value at the specified offset . |
StringBuilder |
insert(int offset,
float f)
Inserts the string representation of the specified
float value at the specified offset . |
StringBuilder |
insert(int offset,
int i)
Inserts the string representation of the specified
int value at the specified offset . |
StringBuilder |
insert(int offset,
long l)
Inserts the string representation of the specified
long value at the specified offset . |
StringBuilder |
insert(int offset,
java.lang.Object obj)
Inserts the string representation of the specified
Object at the specified offset . |
StringBuilder |
insert(int offset,
java.lang.String str)
Inserts the specified string at the specified
offset . |
boolean |
isEmpty() |
int |
lastIndexOf(java.lang.String string)
Searches for the last index of the specified character.
|
int |
lastIndexOf(java.lang.String subString,
int start)
Searches for the index of the specified character.
|
int |
length()
The current length.
|
boolean |
notEmpty() |
static int |
numChars(int value,
int radix) |
static int |
numChars(long value,
int radix) |
int |
offsetByCodePoints(int index,
int codePointOffset)
Returns the index that is offset
codePointOffset code points from index . |
StringBuilder |
replace(char find,
java.lang.String replace)
Replaces all instances of
find with replace . |
StringBuilder |
replace(int start,
int end,
java.lang.String str)
Replaces the specified subsequence in this builder with the specified string.
|
StringBuilder |
replace(java.lang.String find,
java.lang.String replace)
Replaces all instances of
find with replace . |
StringBuilder |
reverse()
Reverses the order of characters in this builder.
|
void |
setCharAt(int index,
char ch)
Sets the character at the
index . |
void |
setLength(int newLength)
Sets the current length to a new value.
|
java.lang.CharSequence |
subSequence(int start,
int end)
Returns a
CharSequence of the subsequence from the start index to the end index. |
java.lang.String |
substring(int start)
Returns the String value of the subsequence from the
start index to the current end. |
java.lang.String |
substring(int start,
int end)
Returns the String value of the subsequence from the
start index to the end index. |
java.lang.String |
toString()
Returns the current String representation.
|
void |
trimToSize()
Trims off any extra capacity beyond the current length.
|
public StringBuilder()
16
.capacity()
public StringBuilder(int capacity)
capacity
- the initial capacity to use.java.lang.NegativeArraySizeException
- if the specified capacity
is negative.capacity()
public StringBuilder(java.lang.CharSequence seq)
CharSequence
. The capacity of the new
builder will be the length of the CharSequence
plus 16.seq
- the CharSequence
to copy into the builder.java.lang.NullPointerException
- if seq
is null
.public StringBuilder(StringBuilder builder)
public StringBuilder(java.lang.String string)
String
. The capacity of the new
builder will be the length of the String
plus 16.string
- the String
to copy into the builder.java.lang.NullPointerException
- if str
is null
.public static int numChars(int value, int radix)
public static int numChars(long value, int radix)
public int capacity()
ensureCapacity(int)
,
length
public char charAt(int index)
index
.charAt
in interface java.lang.CharSequence
index
- the index of the character to retrieve.java.lang.IndexOutOfBoundsException
- if index
is negative or greater than or equal to the current length()
.public void ensureCapacity(int min)
minimumCapacity
is larger than the current capacity()
, then the
capacity will be increased to the largest value of either the minimumCapacity
or the current capacity multiplied by
two plus two. Although this is the general policy, there is no guarantee that the capacity will change.min
- the new minimum capacity to set.public void getChars(int start, int end, char[] dest, int destStart)
char[]
passed starting at destStart
.start
- the inclusive start index of the characters to copy.end
- the exclusive end index of the characters to copy.dest
- the char[]
to copy the characters to.destStart
- the inclusive start index of dest
to begin copying to.java.lang.IndexOutOfBoundsException
- if the start
is negative, the destStart
is negative, the start
is
greater than end
, the end
is greater than the current length()
or
destStart + end - begin
is greater than dest.length
.public int length()
length
in interface java.lang.CharSequence
public void setCharAt(int index, char ch)
index
.index
- the zero-based index of the character to replace.ch
- the character to set.java.lang.IndexOutOfBoundsException
- if index
is negative or greater than or equal to the current length()
.public void setLength(int newLength)
char
value of
.newLength
- the new length of this StringBuilder.java.lang.IndexOutOfBoundsException
- if length < 0
.length
public java.lang.String substring(int start)
start
index to the current end.start
- the inclusive start index to begin the subsequence.java.lang.StringIndexOutOfBoundsException
- if start
is negative or greater than the current length()
.public java.lang.String substring(int start, int end)
start
index to the end
index.start
- the inclusive start index to begin the subsequence.end
- the exclusive end index to end the subsequence.java.lang.StringIndexOutOfBoundsException
- if start
is negative, greater than end
or if end
is greater
than the current length()
.public java.lang.String toString()
toString
in interface java.lang.CharSequence
toString
in class java.lang.Object
public java.lang.CharSequence subSequence(int start, int end)
CharSequence
of the subsequence from the start
index to the end
index.subSequence
in interface java.lang.CharSequence
start
- the inclusive start index to begin the subsequence.end
- the exclusive end index to end the subsequence.java.lang.IndexOutOfBoundsException
- if start
is negative, greater than end
or if end
is greater than
the current length()
.public int indexOf(java.lang.String string)
string
- the string to find.lastIndexOf(String)
public int indexOf(java.lang.String subString, int start)
subString
- the string to find.start
- the starting offset.lastIndexOf(String,int)
public int indexOfIgnoreCase(java.lang.String subString, int start)
public boolean contains(java.lang.String subString)
public boolean containsIgnoreCase(java.lang.String subString)
public int lastIndexOf(java.lang.String string)
string
- the string to find.java.lang.NullPointerException
- if string
is null
.String.lastIndexOf(java.lang.String)
public int lastIndexOf(java.lang.String subString, int start)
subString
- the string to find.start
- the starting offset.java.lang.NullPointerException
- if subString
is null
.String.lastIndexOf(String,int)
public void trimToSize()
public int codePointAt(int index)
index
.index
- the index to the char
code unit.java.lang.IndexOutOfBoundsException
- if index
is negative or greater than or equal to length()
.Character
,
Character.codePointAt(char[], int, int)
public int codePointBefore(int index)
index
.index
- the index to the char
code unit within this object.java.lang.IndexOutOfBoundsException
- if index
is less than 1 or greater than length()
.Character
,
Character.codePointBefore(char[], int, int)
public int codePointCount(int beginIndex, int endIndex)
beginIndex
and endIndex
.beginIndex
- the inclusive beginning index of the subsequence.endIndex
- the exclusive end index of the subsequence.java.lang.IndexOutOfBoundsException
- if beginIndex
is negative or greater than endIndex
or endIndex
is
greater than length()
.Character
,
Character.codePointCount(char[], int, int)
public int offsetByCodePoints(int index, int codePointOffset)
codePointOffset
code points from index
.index
- the index to calculate the offset from.codePointOffset
- the number of code points to count.codePointOffset
code points away from index.java.lang.IndexOutOfBoundsException
- if index
is negative or greater than length()
or if there aren't enough
code points before or after index
to match codePointOffset
.Character
,
Character.offsetByCodePoints(char[], int, int, int, int)
public StringBuilder append(boolean b)
boolean
value. The boolean
value is converted to a
String according to the rule defined by String.valueOf(boolean)
.b
- the boolean
value to append.String.valueOf(boolean)
public StringBuilder append(char c)
char
value. The char
value is converted to a string
according to the rule defined by String.valueOf(char)
.append
in interface java.lang.Appendable
c
- the char
value to append.String.valueOf(char)
public StringBuilder append(int value)
int
value. The int
value is converted to a string
without memory allocation.value
- the int
value to append.String.valueOf(int)
public StringBuilder append(int value, int minLength)
int
value. The int
value is converted to a string
without memory allocation.value
- the int
value to append.minLength
- the minimum number of characters to addString.valueOf(int)
public StringBuilder append(int value, int minLength, char prefix)
int
value. The int
value is converted to a string
without memory allocation.value
- the int
value to append.minLength
- the minimum number of characters to addprefix
- the character to use as prefixString.valueOf(int)
public StringBuilder append(long value)
long
value. The long
value is converted to a string
without memory allocation.value
- the long
value.public StringBuilder append(long value, int minLength)
long
value. The long
value is converted to a string
without memory allocation.value
- the long
value.minLength
- the minimum number of characters to addpublic StringBuilder append(long value, int minLength, char prefix)
long
value. The long
value is converted to a string
without memory allocation.value
- the long
value.minLength
- the minimum number of characters to addprefix
- the character to use as prefixpublic StringBuilder append(float f)
float
value. The float
value is converted to a string
according to the rule defined by String.valueOf(float)
.f
- the float
value to append.public StringBuilder append(double d)
double
value. The double
value is converted to a string
according to the rule defined by String.valueOf(double)
.d
- the double
value to append.String.valueOf(double)
public StringBuilder append(java.lang.Object obj)
Object
. The Object
value is converted to a string
according to the rule defined by String.valueOf(Object)
.obj
- the Object
to append.String.valueOf(Object)
public StringBuilder append(java.lang.String str)
null
, then the string "null"
is appended.str
- the string to append.public StringBuilder appendLine(java.lang.String str)
null
, then the string
"null"
is appended.str
- the string to append.public StringBuilder append(char[] ch)
char[]
. The char[]
is converted to a string according to
the rule defined by String.valueOf(char[])
.ch
- the char[]
to append..String.valueOf(char[])
public StringBuilder append(char[] str, int offset, int len)
char[]
. The char[]
value is converted to a
String according to the rule defined by String.valueOf(char[],int,int)
.str
- the char[]
to append.offset
- the inclusive offset index.len
- the number of characters.java.lang.ArrayIndexOutOfBoundsException
- if offset
and len
do not specify a valid subsequence.String.valueOf(char[],int,int)
public StringBuilder append(java.lang.CharSequence csq)
CharSequence
. If the CharSequence
is null
, then
the string "null"
is appended.append
in interface java.lang.Appendable
csq
- the CharSequence
to append.public StringBuilder append(StringBuilder builder)
public StringBuilder append(java.lang.CharSequence csq, int start, int end)
CharSequence
. If the CharSequence
is
null
, then the string "null"
is used to extract the subsequence from.append
in interface java.lang.Appendable
csq
- the CharSequence
to append.start
- the beginning index.end
- the ending index.java.lang.IndexOutOfBoundsException
- if start
or end
are negative, start
is greater than end
or
end
is greater than the length of csq
.public StringBuilder append(StringBuilder builder, int start, int end)
public StringBuilder appendCodePoint(int codePoint)
char[]
as defined by
Character.toChars(int)
.codePoint
- the Unicode code point to encode and append.Character.toChars(int)
public StringBuilder delete(int start, int end)
start
and end
. Shifts any remaining characters to the left.start
- the inclusive start index.end
- the exclusive end index.java.lang.StringIndexOutOfBoundsException
- if start
is less than zero, greater than the current length or greater than
end
.public StringBuilder deleteCharAt(int index)
index
- the index of the character to delete.java.lang.StringIndexOutOfBoundsException
- if index
is less than zero or is greater than or equal to the current
length.public void clear()
public StringBuilder insert(int offset, boolean b)
boolean
value at the specified offset
. The
boolean
value is converted to a string according to the rule defined by String.valueOf(boolean)
.offset
- the index to insert at.b
- the boolean
value to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length
.String.valueOf(boolean)
public StringBuilder insert(int offset, char c)
char
value at the specified offset
. The char
value is converted to a string according to the rule defined by String.valueOf(char)
.offset
- the index to insert at.c
- the char
value to insert.java.lang.IndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.String.valueOf(char)
public StringBuilder insert(int offset, int i)
int
value at the specified offset
. The int
value
is converted to a String according to the rule defined by String.valueOf(int)
.offset
- the index to insert at.i
- the int
value to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.String.valueOf(int)
public StringBuilder insert(int offset, long l)
long
value at the specified offset
. The long
value is converted to a String according to the rule defined by String.valueOf(long)
.offset
- the index to insert at.l
- the long
value to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current {code length()}.String.valueOf(long)
public StringBuilder insert(int offset, float f)
float
value at the specified offset
. The float
value is converted to a string according to the rule defined by String.valueOf(float)
.offset
- the index to insert at.f
- the float
value to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.String.valueOf(float)
public StringBuilder insert(int offset, double d)
double
value at the specified offset
. The double
value is converted to a String according to the rule defined by String.valueOf(double)
.offset
- the index to insert at.d
- the double
value to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.String.valueOf(double)
public StringBuilder insert(int offset, java.lang.Object obj)
Object
at the specified offset
. The Object
value
is converted to a String according to the rule defined by String.valueOf(Object)
.offset
- the index to insert at.obj
- the Object
to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.String.valueOf(Object)
public StringBuilder insert(int offset, java.lang.String str)
offset
. If the specified string is null, then the String
"null"
is inserted.offset
- the index to insert at.str
- the String
to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.public StringBuilder insert(int offset, char[] ch)
char[]
at the specified offset
. The char[]
value
is converted to a String according to the rule defined by String.valueOf(char[])
.offset
- the index to insert at.ch
- the char[]
to insert.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.String.valueOf(char[])
public StringBuilder insert(int offset, char[] str, int strOffset, int strLen)
char[]
at the specified offset
. The
char[]
value is converted to a String according to the rule defined by String.valueOf(char[],int,int)
.offset
- the index to insert at.str
- the char[]
to insert.strOffset
- the inclusive index.strLen
- the number of characters.java.lang.StringIndexOutOfBoundsException
- if offset
is negative or greater than the current length()
, or
strOffset
and strLen
do not specify a valid subsequence.String.valueOf(char[],int,int)
public StringBuilder insert(int offset, java.lang.CharSequence s)
CharSequence
at the specified offset
. The
CharSequence
is converted to a String as defined by CharSequence.toString()
. If s
is null
,
then the String "null"
is inserted.offset
- the index to insert at.s
- the CharSequence
to insert.java.lang.IndexOutOfBoundsException
- if offset
is negative or greater than the current length()
.CharSequence.toString()
public StringBuilder insert(int offset, java.lang.CharSequence s, int start, int end)
CharSequence
at the specified offset
.
The CharSequence
is converted to a String as defined by CharSequence.subSequence(int, int)
. If the
CharSequence
is null
, then the string "null"
is used to determine the subsequence.offset
- the index to insert at.s
- the CharSequence
to insert.start
- the start of the subsequence of the character sequence.end
- the end of the subsequence of the character sequence.java.lang.IndexOutOfBoundsException
- if offset
is negative or greater than the current length()
, or
start
and end
do not specify a valid subsequence.CharSequence.subSequence(int, int)
public StringBuilder replace(int start, int end, java.lang.String str)
start
- the inclusive begin index.end
- the exclusive end index.str
- the replacement string.java.lang.StringIndexOutOfBoundsException
- if start
is negative, greater than the current length()
or greater
than end
.java.lang.NullPointerException
- if str
is null
.public StringBuilder replace(java.lang.String find, java.lang.String replace)
find
with replace
.public StringBuilder replace(char find, java.lang.String replace)
find
with replace
.public StringBuilder reverse()
public boolean isEmpty()
public boolean notEmpty()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean equalsIgnoreCase(@Null StringBuilder other)
public boolean equalsIgnoreCase(@Null java.lang.String other)