public class StrBuilder extends Object implements CharSequence, Appendable, Serializable, Builder<String>
The main differences from StringBuffer/StringBuilder are:
The aim has been to provide an API that mimics very closely what StringBuffer
provides, but with additional methods. It should be noted that some edge cases,
with invalid indices or null input, have been altered - see individual methods.
The biggest of these changes is that by default, null will not output the text
'null'. This can be controlled by a property, setNullText(String).
Prior to 3.0, this class implemented Cloneable but did not implement the clone method so could not be used. From 3.0 onwards it no longer implements the interface.
| Modifier and Type | Field and Description |
|---|---|
protected char[] |
buffer
存放的字符数组
|
protected int |
size
当前指针位置,或者叫做已经加入的字符数,此位置总在最后一个字符之后
|
| Constructor and Description |
|---|
StrBuilder()
构造
|
StrBuilder(CharSequence... strs)
创建字符串构建器
|
StrBuilder(int initialCapacity)
构造
|
StrBuilder(String str)
构造
|
| Modifier and Type | Method and Description |
|---|---|
StrBuilder |
append(boolean value)
Appends a boolean value to the string builder.
|
StrBuilder |
append(char ch)
Appends a char value to the string builder.
|
StrBuilder |
append(char[] chars)
Appends a char array to the string builder.
|
StrBuilder |
append(char[] chars,
int startIndex,
int length)
Appends a char array to the string builder.
|
StrBuilder |
append(CharBuffer buf)
Appends the contents of a char buffer to this string builder.
|
StrBuilder |
append(CharBuffer buf,
int startIndex,
int length)
Appends the contents of a char buffer to this string builder.
|
StrBuilder |
append(CharSequence seq)
Appends a CharSequence to this string builder.
|
StrBuilder |
append(CharSequence seq,
int startIndex,
int length)
Appends part of a CharSequence to this string builder.
|
StrBuilder |
append(double value)
Appends a double value to the string builder using
String.valueOf. |
StrBuilder |
append(float value)
Appends a float value to the string builder using
String.valueOf. |
StrBuilder |
append(int value)
Appends an int value to the string builder using
String.valueOf. |
StrBuilder |
append(long value)
Appends a long value to the string builder using
String.valueOf. |
StrBuilder |
append(Object obj)
Appends an object to this string builder.
|
StrBuilder |
append(StrBuilder str)
Appends another string builder to this string builder.
|
StrBuilder |
append(StrBuilder str,
int startIndex,
int length)
Appends part of a string builder to this string builder.
|
StrBuilder |
append(String str)
Appends a string to this string builder.
|
StrBuilder |
append(StringBuffer str)
Appends a string buffer to this string builder.
|
StrBuilder |
append(StringBuffer str,
int startIndex,
int length)
Appends part of a string buffer to this string builder.
|
StrBuilder |
append(StringBuilder str)
Appends a StringBuilder to this string builder.
|
StrBuilder |
append(StringBuilder str,
int startIndex,
int length)
Appends part of a StringBuilder to this string builder.
|
StrBuilder |
append(String str,
int startIndex,
int length)
Appends part of a string to this string builder.
|
StrBuilder |
append(String format,
Object... objs)
Calls
String.format(String, Object...) and appends the result. |
StrBuilder |
appendAll(Iterable<?> iterable)
Appends each item in a iterable to the builder without any separators.
|
StrBuilder |
appendAll(Iterator<?> it)
Appends each item in an iterator to the builder without any separators.
|
<T> StrBuilder |
appendAll(T... array)
Appends each item in an array to the builder without any separators.
|
StrBuilder |
appendFixedWidthPadLeft(int value,
int width,
char padChar)
Appends an object to the builder padding on the left to a fixed width.
|
StrBuilder |
appendFixedWidthPadLeft(Object obj,
int width,
char padChar)
Appends an object to the builder padding on the left to a fixed width.
|
StrBuilder |
appendFixedWidthPadRight(int value,
int width,
char padChar)
Appends an object to the builder padding on the right to a fixed length.
|
StrBuilder |
appendFixedWidthPadRight(Object obj,
int width,
char padChar)
Appends an object to the builder padding on the right to a fixed length.
|
StrBuilder |
appendln(boolean value)
Appends a boolean value followed by a new line to the string builder.
|
StrBuilder |
appendln(char ch)
Appends a char value followed by a new line to the string builder.
|
StrBuilder |
appendln(char[] chars)
Appends a char array followed by a new line to the string builder.
|
StrBuilder |
appendln(char[] chars,
int startIndex,
int length)
Appends a char array followed by a new line to the string builder.
|
StrBuilder |
appendln(double value)
Appends a double value followed by a new line to the string builder using
String.valueOf. |
StrBuilder |
appendln(float value)
Appends a float value followed by a new line to the string builder using
String.valueOf. |
StrBuilder |
appendln(int value)
Appends an int value followed by a new line to the string builder using
String.valueOf. |
StrBuilder |
appendln(long value)
Appends a long value followed by a new line to the string builder using
String.valueOf. |
StrBuilder |
appendln(Object obj)
Appends an object followed by a new line to this string builder.
|
StrBuilder |
appendln(StrBuilder str)
Appends another string builder followed by a new line to this string builder.
|
StrBuilder |
appendln(StrBuilder str,
int startIndex,
int length)
Appends part of a string builder followed by a new line to this string builder.
|
StrBuilder |
appendln(String str)
Appends a string followed by a new line to this string builder.
|
StrBuilder |
appendln(StringBuffer str)
Appends a string buffer followed by a new line to this string builder.
|
StrBuilder |
appendln(StringBuffer str,
int startIndex,
int length)
Appends part of a string buffer followed by a new line to this string builder.
|
StrBuilder |
appendln(StringBuilder str)
Appends a string builder followed by a new line to this string builder.
|
StrBuilder |
appendln(StringBuilder str,
int startIndex,
int length)
Appends part of a string builder followed by a new line to this string builder.
|
StrBuilder |
appendln(String str,
int startIndex,
int length)
Appends part of a string followed by a new line to this string builder.
|
StrBuilder |
appendln(String format,
Object... objs)
Calls
String.format(String, Object...) and appends the result. |
StrBuilder |
appendNewLine()
Appends the new line string to this string builder.
|
StrBuilder |
appendNull()
Appends the text representing
null to this string builder. |
StrBuilder |
appendWithSeparators(Iterable<?> iterable,
String separator)
Appends an iterable placing separators between each value, but
not before the first or after the last.
|
StrBuilder |
appendWithSeparators(Iterator<?> it,
String separator)
Appends an iterator placing separators between each value, but
not before the first or after the last.
|
StrBuilder |
appendWithSeparators(Object[] array,
String separator)
Appends an array placing separators between each value, but
not before the first or after the last.
|
String |
build()
Implement the
Builder interface. |
int |
capacity()
Gets the current size of the internal character array buffer.
|
char |
charAt(int index)
Gets the character at the specified index.
|
StrBuilder |
clear()
Clears the string builder (convenience Collections API style method).
|
boolean |
contains(char ch)
Checks if the string builder contains the specified char.
|
boolean |
contains(String str)
Checks if the string builder contains the specified string.
|
boolean |
contains(StrMatcher matcher)
Checks if the string builder contains a string matched using the
specified matcher.
|
StrBuilder |
delete(int startIndex,
int endIndex)
Deletes the characters between the two specified indices.
|
StrBuilder |
deleteAll(char ch)
Deletes the character wherever it occurs in the builder.
|
StrBuilder |
deleteAll(String str)
Deletes the string wherever it occurs in the builder.
|
StrBuilder |
deleteAll(StrMatcher matcher)
Deletes all parts of the builder that the matcher matches.
|
StrBuilder |
deleteCharAt(int index)
Deletes the character at the specified index.
|
StrBuilder |
deleteFirst(char ch)
Deletes the character wherever it occurs in the builder.
|
StrBuilder |
deleteFirst(String str)
Deletes the string wherever it occurs in the builder.
|
StrBuilder |
deleteFirst(StrMatcher matcher)
Deletes the first match within the builder using the specified matcher.
|
boolean |
endsWith(String str)
Checks whether this builder ends with the specified string.
|
StrBuilder |
ensureCapacity(int capacity)
Checks the capacity and ensures that it is at least the size specified.
|
boolean |
equals(Object obj)
Checks the contents of this builder against another to see if they
contain the same character content.
|
boolean |
equals(StrBuilder other)
Checks the contents of this builder against another to see if they
contain the same character content.
|
boolean |
equalsIgnoreCase(StrBuilder other)
Checks the contents of this builder against another to see if they
contain the same character content ignoring case.
|
char[] |
getChars(char[] destination)
Copies the character array into the specified array.
|
void |
getChars(int startIndex,
int endIndex,
char[] destination,
int destinationIndex)
Copies the character array into the specified array.
|
String |
getNewLineText()
Gets the text to be appended when a new line is added.
|
String |
getNullText()
Gets the text to be appended when null is added.
|
int |
hashCode()
Gets a suitable hash code for this builder.
|
int |
indexOf(char ch)
Searches the string builder to find the first reference to the specified char.
|
int |
indexOf(char ch,
int startIndex)
Searches the string builder to find the first reference to the specified char.
|
int |
indexOf(String str)
Searches the string builder to find the first reference to the specified string.
|
int |
indexOf(String str,
int startIndex)
Searches the string builder to find the first reference to the specified
string starting searching from the given index.
|
int |
indexOf(StrMatcher matcher)
Searches the string builder using the matcher to find the first match.
|
int |
indexOf(StrMatcher matcher,
int startIndex)
Searches the string builder using the matcher to find the first
match searching from the given index.
|
StrBuilder |
insert(int index,
boolean value)
Inserts the value into this builder.
|
StrBuilder |
insert(int index,
char value)
Inserts the value into this builder.
|
StrBuilder |
insert(int index,
char[] chars)
Inserts the character array into this builder.
|
StrBuilder |
insert(int index,
char[] chars,
int offset,
int length)
Inserts part of the character array into this builder.
|
StrBuilder |
insert(int index,
double value)
Inserts the value into this builder.
|
StrBuilder |
insert(int index,
float value)
Inserts the value into this builder.
|
StrBuilder |
insert(int index,
int value)
Inserts the value into this builder.
|
StrBuilder |
insert(int index,
long value)
Inserts the value into this builder.
|
StrBuilder |
insert(int index,
Object obj)
Inserts the string representation of an object into this builder.
|
StrBuilder |
insert(int index,
String str)
Inserts the string into this builder.
|
boolean |
isEmpty()
Checks is the string builder is empty (convenience Collections API style method).
|
int |
lastIndexOf(char ch)
Searches the string builder to find the last reference to the specified char.
|
int |
lastIndexOf(char ch,
int startIndex)
Searches the string builder to find the last reference to the specified char.
|
int |
lastIndexOf(String str)
Searches the string builder to find the last reference to the specified string.
|
int |
lastIndexOf(String str,
int startIndex)
Searches the string builder to find the last reference to the specified
string starting searching from the given index.
|
int |
lastIndexOf(StrMatcher matcher)
Searches the string builder using the matcher to find the last match.
|
int |
lastIndexOf(StrMatcher matcher,
int startIndex)
Searches the string builder using the matcher to find the last
match searching from the given index.
|
String |
leftString(int length)
Extracts the leftmost characters from the string builder without
throwing an exception.
|
int |
length()
Gets the length of the string builder.
|
String |
midString(int index,
int length)
Extracts some characters from the middle of the string builder without
throwing an exception.
|
StrBuilder |
minimizeCapacity()
Minimizes the capacity to the actual length of the string.
|
int |
readFrom(Readable readable)
If possible, reads chars from the provided
Readable directly into underlying
character buffer without making extra copies. |
StrBuilder |
replace(int startIndex,
int endIndex,
String replaceStr)
Replaces a portion of the string builder with another string.
|
StrBuilder |
replace(StrMatcher matcher,
String replaceStr,
int startIndex,
int endIndex,
int replaceCount)
Advanced search and replaces within the builder using a matcher.
|
StrBuilder |
replaceAll(char search,
char replace)
Replaces the search character with the replace character
throughout the builder.
|
StrBuilder |
replaceAll(String searchStr,
String replaceStr)
Replaces the search string with the replace string throughout the builder.
|
StrBuilder |
replaceAll(StrMatcher matcher,
String replaceStr)
Replaces all matches within the builder with the replace string.
|
StrBuilder |
replaceFirst(char search,
char replace)
Replaces the first instance of the search character with the
replace character in the builder.
|
StrBuilder |
replaceFirst(String searchStr,
String replaceStr)
Replaces the first instance of the search string with the replace string.
|
StrBuilder |
replaceFirst(StrMatcher matcher,
String replaceStr)
Replaces the first match within the builder with the replace string.
|
StrBuilder |
reverse()
Reverses the string builder placing each character in the opposite index.
|
String |
rightString(int length)
Extracts the rightmost characters from the string builder without
throwing an exception.
|
StrBuilder |
setCharAt(int index,
char ch)
Sets the character at the specified index.
|
StrBuilder |
setLength(int length)
Updates the length of the builder by either dropping the last characters
or adding filler of Unicode zero.
|
StrBuilder |
setNewLineText(String newLine)
Sets the text to be appended when a new line is added.
|
StrBuilder |
setNullText(String nullText)
Sets the text to be appended when null is added.
|
int |
size()
Gets the length of the string builder.
|
boolean |
startsWith(String str)
Checks whether this builder starts with the specified string.
|
CharSequence |
subSequence(int startIndex,
int endIndex) |
String |
substring(int start)
Extracts a portion of this string builder as a string.
|
String |
substring(int startIndex,
int endIndex)
Extracts a portion of this string builder as a string.
|
String |
toString()
Gets a String version of the string builder, creating a new instance
each time the method is called.
|
StringBuffer |
toStringBuffer()
Gets a StringBuffer version of the string builder, creating a
new instance each time the method is called.
|
StringBuilder |
toStringBuilder()
Gets a StringBuilder version of the string builder, creating a
new instance each time the method is called.
|
StrBuilder |
trim()
Trims the builder by removing characters less than or equal to a space
from the beginning and end.
|
protected void |
validateIndex(int index)
Validates parameters defining a single index in the builder.
|
protected int |
validateRange(int startIndex,
int endIndex)
Validates parameters defining a range of the builder.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitchars, codePointsprotected char[] buffer
protected int size
public StrBuilder()
public StrBuilder(int initialCapacity)
initialCapacity - 初始容量public StrBuilder(String str)
str - 初始字符串public StrBuilder(CharSequence... strs)
strs - 初始字符串public String getNewLineText()
public StrBuilder setNewLineText(String newLine)
newLine - the new line text, null means use system defaultpublic String getNullText()
public StrBuilder setNullText(String nullText)
nullText - the null text, null means no appendpublic int length()
length in interface CharSequencepublic StrBuilder setLength(int length)
length - the length to set to, must be zero or positiveIndexOutOfBoundsException - if the length is negativepublic int capacity()
public StrBuilder ensureCapacity(int capacity)
capacity - the capacity to ensurepublic StrBuilder minimizeCapacity()
public int size()
This method is the same as length() and is provided to match the
API of Collections.
public boolean isEmpty()
This method is the same as checking length() and is provided to match the
API of Collections.
true if the size is 0.public StrBuilder clear()
This method does not reduce the size of the internal character buffer.
To do that, call clear() followed by minimizeCapacity().
This method is the same as setLength(int) called with zero
and is provided to match the API of Collections.
public char charAt(int index)
charAt in interface CharSequenceindex - the index to retrieve, must be validIndexOutOfBoundsException - if the index is invalidsetCharAt(int, char),
deleteCharAt(int)public StrBuilder setCharAt(int index, char ch)
index - the index to setch - the new characterIndexOutOfBoundsException - if the index is invalidcharAt(int),
deleteCharAt(int)public StrBuilder deleteCharAt(int index)
index - the index to deleteIndexOutOfBoundsException - if the index is invalidcharAt(int),
setCharAt(int, char)public char[] getChars(char[] destination)
destination - the destination array, null will cause an array to be createdpublic void getChars(int startIndex,
int endIndex,
char[] destination,
int destinationIndex)
startIndex - first index to copy, inclusive, must be validendIndex - last index, exclusive, must be validdestination - the destination array, must not be null or too smalldestinationIndex - the index to start copying in destinationNullPointerException - if the array is nullIndexOutOfBoundsException - if any index is invalidpublic int readFrom(Readable readable) throws IOException
Readable directly into underlying
character buffer without making extra copies.readable - object to read fromIOException - if an I/O error occurspublic StrBuilder appendNewLine()
The new line string can be altered using setNewLineText(String).
This might be used to force the output to always use Unix line endings
even when on Windows.
public StrBuilder appendNull()
null to this string builder.public StrBuilder append(Object obj)
appendNull().obj - the object to appendpublic StrBuilder append(CharSequence seq)
appendNull().append in interface Appendableseq - the CharSequence to appendpublic StrBuilder append(CharSequence seq, int startIndex, int length)
appendNull().append in interface Appendableseq - the CharSequence to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(String str)
appendNull().str - the string to appendpublic StrBuilder append(String str, int startIndex, int length)
appendNull().str - the string to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(String format, Object... objs)
String.format(String, Object...) and appends the result.format - the format stringobjs - the objects to use in the format stringthis to enable chainingString.format(String, Object...)public StrBuilder append(CharBuffer buf)
appendNull().buf - the char buffer to appendpublic StrBuilder append(CharBuffer buf, int startIndex, int length)
appendNull().buf - the char buffer to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(StringBuffer str)
appendNull().str - the string buffer to appendpublic StrBuilder append(StringBuffer str, int startIndex, int length)
appendNull().str - the string to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(StringBuilder str)
appendNull().str - the StringBuilder to appendpublic StrBuilder append(StringBuilder str, int startIndex, int length)
appendNull().str - the StringBuilder to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(StrBuilder str)
appendNull().str - the string builder to appendpublic StrBuilder append(StrBuilder str, int startIndex, int length)
appendNull().str - the string to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(char[] chars)
appendNull().chars - the char array to appendpublic StrBuilder append(char[] chars, int startIndex, int length)
appendNull().chars - the char array to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder append(boolean value)
value - the value to appendpublic StrBuilder append(char ch)
append in interface Appendablech - the value to appendpublic StrBuilder append(int value)
String.valueOf.value - the value to appendpublic StrBuilder append(long value)
String.valueOf.value - the value to appendpublic StrBuilder append(float value)
String.valueOf.value - the value to appendpublic StrBuilder append(double value)
String.valueOf.value - the value to appendpublic StrBuilder appendln(Object obj)
appendNull().obj - the object to appendpublic StrBuilder appendln(String str)
appendNull().str - the string to appendpublic StrBuilder appendln(String str, int startIndex, int length)
appendNull().str - the string to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder appendln(String format, Object... objs)
String.format(String, Object...) and appends the result.format - the format stringobjs - the objects to use in the format stringthis to enable chainingString.format(String, Object...)public StrBuilder appendln(StringBuffer str)
appendNull().str - the string buffer to appendpublic StrBuilder appendln(StringBuilder str)
appendNull().str - the string builder to appendpublic StrBuilder appendln(StringBuilder str, int startIndex, int length)
appendNull().str - the string builder to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder appendln(StringBuffer str, int startIndex, int length)
appendNull().str - the string to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder appendln(StrBuilder str)
appendNull().str - the string builder to appendpublic StrBuilder appendln(StrBuilder str, int startIndex, int length)
appendNull().str - the string to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder appendln(char[] chars)
appendNull().chars - the char array to appendpublic StrBuilder appendln(char[] chars, int startIndex, int length)
appendNull().chars - the char array to appendstartIndex - the start index, inclusive, must be validlength - the length to append, must be validpublic StrBuilder appendln(boolean value)
value - the value to appendpublic StrBuilder appendln(char ch)
ch - the value to appendpublic StrBuilder appendln(int value)
String.valueOf.value - the value to appendpublic StrBuilder appendln(long value)
String.valueOf.value - the value to appendpublic StrBuilder appendln(float value)
String.valueOf.value - the value to appendpublic StrBuilder appendln(double value)
String.valueOf.value - the value to appendpublic <T> StrBuilder appendAll(T... array)
append(Object).T - the element typearray - the array to appendpublic StrBuilder appendAll(Iterable<?> iterable)
append(Object).iterable - the iterable to appendpublic StrBuilder appendAll(Iterator<?> it)
append(Object).it - the iterator to appendpublic StrBuilder appendWithSeparators(Object[] array, String separator)
append(Object).array - the array to appendseparator - the separator to use, null means no separatorpublic StrBuilder appendWithSeparators(Iterable<?> iterable, String separator)
append(Object).iterable - the iterable to appendseparator - the separator to use, null means no separatorpublic StrBuilder appendWithSeparators(Iterator<?> it, String separator)
append(Object).it - the iterator to appendseparator - the separator to use, null means no separatorpublic StrBuilder appendFixedWidthPadLeft(Object obj, int width, char padChar)
toString of the object is used.
If the object is larger than the length, the left hand side is lost.
If the object is null, the null text value is used.obj - the object to append, null uses null textwidth - the fixed field width, zero or negative has no effectpadChar - the pad character to usepublic StrBuilder appendFixedWidthPadLeft(int value, int width, char padChar)
String.valueOf of the int value is used.
If the formatted value is larger than the length, the left hand side is lost.value - the value to appendwidth - the fixed field width, zero or negative has no effectpadChar - the pad character to usepublic StrBuilder appendFixedWidthPadRight(Object obj, int width, char padChar)
toString of the object is used.
If the object is larger than the length, the right hand side is lost.
If the object is null, null text value is used.obj - the object to append, null uses null textwidth - the fixed field width, zero or negative has no effectpadChar - the pad character to usepublic StrBuilder appendFixedWidthPadRight(int value, int width, char padChar)
String.valueOf of the int value is used.
If the object is larger than the length, the right hand side is lost.value - the value to appendwidth - the fixed field width, zero or negative has no effectpadChar - the pad character to usepublic StrBuilder insert(int index, Object obj)
index - the index to add at, must be validobj - the object to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, String str)
index - the index to add at, must be validstr - the string to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, char[] chars)
index - the index to add at, must be validchars - the char array to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, char[] chars, int offset, int length)
index - the index to add at, must be validchars - the char array to insertoffset - the offset into the character array to start at, must be validlength - the length of the character array part to copy, must be positiveIndexOutOfBoundsException - if any index is invalidpublic StrBuilder insert(int index, boolean value)
index - the index to add at, must be validvalue - the value to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, char value)
index - the index to add at, must be validvalue - the value to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, int value)
index - the index to add at, must be validvalue - the value to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, long value)
index - the index to add at, must be validvalue - the value to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, float value)
index - the index to add at, must be validvalue - the value to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder insert(int index, double value)
index - the index to add at, must be validvalue - the value to insertIndexOutOfBoundsException - if the index is invalidpublic StrBuilder delete(int startIndex, int endIndex)
startIndex - the start index, inclusive, must be validendIndex - the end index, exclusive, must be valid except
that if too large it is treated as end of stringIndexOutOfBoundsException - if the index is invalidpublic StrBuilder deleteAll(char ch)
ch - the character to deletepublic StrBuilder deleteFirst(char ch)
ch - the character to deletepublic StrBuilder deleteAll(String str)
str - the string to delete, null causes no actionpublic StrBuilder deleteFirst(String str)
str - the string to delete, null causes no actionpublic StrBuilder deleteAll(StrMatcher matcher)
Matchers can be used to perform advanced deletion behaviour. For example you could write a matcher to delete all occurrences where the character 'a' is followed by a number.
matcher - the matcher to use to find the deletion, null causes no actionpublic StrBuilder deleteFirst(StrMatcher matcher)
Matchers can be used to perform advanced deletion behaviour. For example you could write a matcher to delete where the character 'a' is followed by a number.
matcher - the matcher to use to find the deletion, null causes no actionpublic StrBuilder replace(int startIndex, int endIndex, String replaceStr)
startIndex - the start index, inclusive, must be validendIndex - the end index, exclusive, must be valid except
that if too large it is treated as end of stringreplaceStr - the string to replace with, null means delete rangeIndexOutOfBoundsException - if the index is invalidpublic StrBuilder replaceAll(char search, char replace)
search - the search characterreplace - the replace characterpublic StrBuilder replaceFirst(char search, char replace)
search - the search characterreplace - the replace characterpublic StrBuilder replaceAll(String searchStr, String replaceStr)
searchStr - the search string, null causes no action to occurreplaceStr - the replace string, null is equivalent to an empty stringpublic StrBuilder replaceFirst(String searchStr, String replaceStr)
searchStr - the search string, null causes no action to occurreplaceStr - the replace string, null is equivalent to an empty stringpublic StrBuilder replaceAll(StrMatcher matcher, String replaceStr)
Matchers can be used to perform advanced replace behaviour. For example you could write a matcher to replace all occurrences where the character 'a' is followed by a number.
matcher - the matcher to use to find the deletion, null causes no actionreplaceStr - the replace string, null is equivalent to an empty stringpublic StrBuilder replaceFirst(StrMatcher matcher, String replaceStr)
Matchers can be used to perform advanced replace behaviour. For example you could write a matcher to replace where the character 'a' is followed by a number.
matcher - the matcher to use to find the deletion, null causes no actionreplaceStr - the replace string, null is equivalent to an empty stringpublic StrBuilder replace(StrMatcher matcher, String replaceStr, int startIndex, int endIndex, int replaceCount)
Matchers can be used to perform advanced behaviour. For example you could write a matcher to delete all occurrences where the character 'a' is followed by a number.
matcher - the matcher to use to find the deletion, null causes no actionreplaceStr - the string to replace the match with, null is a deletestartIndex - the start index, inclusive, must be validendIndex - the end index, exclusive, must be valid except
that if too large it is treated as end of stringreplaceCount - the number of times to replace, -1 for replace allIndexOutOfBoundsException - if start index is invalidpublic StrBuilder reverse()
public StrBuilder trim()
public boolean startsWith(String str)
Note that this method handles null input quietly, unlike String.
str - the string to search for, null returns falsepublic boolean endsWith(String str)
Note that this method handles null input quietly, unlike String.
str - the string to search for, null returns falsepublic CharSequence subSequence(int startIndex, int endIndex)
subSequence in interface CharSequencepublic String substring(int start)
start - the start index, inclusive, must be validIndexOutOfBoundsException - if the index is invalidpublic String substring(int startIndex, int endIndex)
Note: This method treats an endIndex greater than the length of the builder as equal to the length of the builder, and continues without error, unlike StringBuffer or String.
startIndex - the start index, inclusive, must be validendIndex - the end index, exclusive, must be valid except
that if too large it is treated as end of stringIndexOutOfBoundsException - if the index is invalidpublic String leftString(int length)
This method extracts the left length characters from
the builder. If this many characters are not available, the whole
builder is returned. Thus the returned string may be shorter than the
length requested.
length - the number of characters to extract, negative returns empty stringpublic String rightString(int length)
This method extracts the right length characters from
the builder. If this many characters are not available, the whole
builder is returned. Thus the returned string may be shorter than the
length requested.
length - the number of characters to extract, negative returns empty stringpublic String midString(int index, int length)
This method extracts length characters from the builder
at the specified index.
If the index is negative it is treated as zero.
If the index is greater than the builder size, it is treated as the builder size.
If the length is negative, the empty string is returned.
If insufficient characters are available in the builder, as much as possible is returned.
Thus the returned string may be shorter than the length requested.
index - the index to start at, negative means zerolength - the number of characters to extract, negative returns empty stringpublic boolean contains(char ch)
ch - the character to findpublic boolean contains(String str)
str - the string to findpublic boolean contains(StrMatcher matcher)
Matchers can be used to perform advanced searching behaviour. For example you could write a matcher to search for the character 'a' followed by a number.
matcher - the matcher to use, null returns -1public int indexOf(char ch)
ch - the character to findpublic int indexOf(char ch,
int startIndex)
ch - the character to findstartIndex - the index to start at, invalid index rounded to edgepublic int indexOf(String str)
Note that a null input string will return -1, whereas the JDK throws an exception.
str - the string to find, null returns -1public int indexOf(String str, int startIndex)
Note that a null input string will return -1, whereas the JDK throws an exception.
str - the string to find, null returns -1startIndex - the index to start at, invalid index rounded to edgepublic int indexOf(StrMatcher matcher)
Matchers can be used to perform advanced searching behaviour. For example you could write a matcher to find the character 'a' followed by a number.
matcher - the matcher to use, null returns -1public int indexOf(StrMatcher matcher, int startIndex)
Matchers can be used to perform advanced searching behaviour. For example you could write a matcher to find the character 'a' followed by a number.
matcher - the matcher to use, null returns -1startIndex - the index to start at, invalid index rounded to edgepublic int lastIndexOf(char ch)
ch - the character to findpublic int lastIndexOf(char ch,
int startIndex)
ch - the character to findstartIndex - the index to start at, invalid index rounded to edgepublic int lastIndexOf(String str)
Note that a null input string will return -1, whereas the JDK throws an exception.
str - the string to find, null returns -1public int lastIndexOf(String str, int startIndex)
Note that a null input string will return -1, whereas the JDK throws an exception.
str - the string to find, null returns -1startIndex - the index to start at, invalid index rounded to edgepublic int lastIndexOf(StrMatcher matcher)
Matchers can be used to perform advanced searching behaviour. For example you could write a matcher to find the character 'a' followed by a number.
matcher - the matcher to use, null returns -1public int lastIndexOf(StrMatcher matcher, int startIndex)
Matchers can be used to perform advanced searching behaviour. For example you could write a matcher to find the character 'a' followed by a number.
matcher - the matcher to use, null returns -1startIndex - the index to start at, invalid index rounded to edgepublic boolean equalsIgnoreCase(StrBuilder other)
other - the object to check, null returns falsepublic boolean equals(StrBuilder other)
other - the object to check, null returns falsepublic boolean equals(Object obj)
public int hashCode()
public String toString()
Note that unlike StringBuffer, the string version returned is independent of the string builder.
toString in interface CharSequencetoString in class Objectpublic StringBuffer toStringBuffer()
public StringBuilder toStringBuilder()
public String build()
Builder interface.build in interface Builder<String>toString()protected int validateRange(int startIndex,
int endIndex)
startIndex - the start index, inclusive, must be validendIndex - the end index, exclusive, must be valid except
that if too large it is treated as end of stringIndexOutOfBoundsException - if the index is invalidprotected void validateIndex(int index)
index - the index, must be validIndexOutOfBoundsException - if the index is invalidCopyright © 2019. All rights reserved.