Package one.microstream.chars
Class VarString
java.lang.Object
one.microstream.chars.VarString
- All Implemented Interfaces:
Serializable,Appendable,CharSequence
public final class VarString extends Object implements CharSequence, Appendable, Serializable
Faster implementation of a StringBuilder with richer functionality.
Note that this class is NOT synchronized and only meant for single-threaded or thread-safe
(i.e. read only or explicitly synchronized) use.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceVarString.AppendableImplementors of this interface handle appending their specific string representation directly.
This is useful for preventing the instantiation and copying of potentially large temporary strings which can have unnecessary and devastatingly negative effects on performance. -
Method Summary
Modifier and Type Method Description VarStringadd(boolean value)VarStringadd(byte value)VarStringadd(char c)VarStringadd(char[] chars)voidadd(char[] chars, int offset, int length)VarStringadd(char c1, char c2)VarStringadd(char c1, char c2, char c3)VarStringadd(double value)VarStringadd(float value)VarStringadd(int value)VarStringadd(long value)VarStringadd(short value)<E> VarStringadd(E element, BiConsumer<VarString,? super E> joiner)VarStringadd(Character c)VarStringadd(CharSequence cs)VarStringadd(Object o)VarStringadd(String s)VarStringadd(VarString vs)<E> VarStringaddAll(E[] elements, int offset, int length, BiConsumer<VarString,? super E> joiner)<E> VarStringaddAll(E[] elements, BiConsumer<VarString,? super E> joiner)<E> VarStringaddAll(Iterable<? extends E> elements, BiConsumer<VarString,? super E> joiner)VarStringaddChars(char... chars)VarStringaddCharSequences(CharSequence... csqs)VarStringaddFalse()VarStringaddHexDec(byte value)VarStringaddHexDec(byte... bytes)VarStringaddMapped(boolean value, String trueValue, String falseValue)VarStringaddMapped(Boolean value, String trueValue, String falseValue)static voidaddNonNull(VarString vs, Object object)VarStringaddNull()VarStringaddObjects(Object... objects)VarStringaddTrue()VarStringappend(char c)VarStringappend(CharSequence csq)VarStringappend(CharSequence csq, int start, int end)VarStringappend(VarString.Appendable appendable)VarStringapply(Consumer<? super VarString> procedure)VarStringblank()VarStringblank(int amount)charcharAt(int index)VarStringclear()Fills this instance's char storage completely with zeros and sets its size to 0.static voidcommaSpace(VarString vs, Object element)VarStringconsolidate()booleancontains(char c)booleancontains(char[] chars)booleancontains(String s)booleancontains(VarString vc)VarStringcopyTo(char[] target, int targetOffset)VarStringcopyTo(int offset, char[] target, int targetOffset, int length)intcount(char c)intcount(char[] chars)intcount(String s)intcount(VarString vc)VarStringcr()VarStringcr(int amount)VarStringcrlf()VarStringdeleteAt(int index)VarStringdeleteLast()VarStringdeleteLast(int n)byte[]encode()Alias forthis.encodeBy(XChars.standardCharset());for general purpose encoding, with the "standard" being UTF-8 (XChars.utf8()), because any other charset is nonsense for a general case.byte[]encodeBy(Charset charset)booleanendsWith(char c)booleanendsWith(char[] chars)booleanendsWith(String string)voidensureCapacity(int minimumCapacity)voidensureFreeCapacity(int minimumFreeCapacity)booleanequalsAt(int index, char[] chars, int charsOffset, int charsLength)charfirst()intindexOf(char c)intindexOf(char[] chars)intindexOf(char[] chars, int offset)intindexOf(char c, int offset)intindexOf(String s)intindexOf(String s, int offset)intindexOf(VarString vc)intindexOf(VarString vc, int offset)booleanisEmpty()voiditerate(_charProcedure iterator)charlast()intlastIndexOf(char c)intlastIndexOf(char c, int offset)intlength()VarStringlf()VarStringlf(int amount)VarStringlist(String separator, boolean... listElements)VarStringlist(String separator, byte... listElements)VarStringlist(String separator, char... listElements)VarStringlist(String separator, double... listElements)VarStringlist(String separator, float... listElements)VarStringlist(String separator, int... listElements)VarStringlist(String separator, long... listElements)VarStringlist(String separator, short... listElements)VarStringlist(String separator, Object... listElements)VarStringlist(String separator, String... listElements)VarStringlist(String separator, VarString... listElements)VarStringlist(String separator, VarString.Appendable... listElements)VarStringlist(String separator, XGettingCollection<?> listElements)static VarStringNew()static VarStringNew(int initialMinimumCapacity)static VarStringNew(String s)VarStringpadLeft(String s, int totalLength, char paddingChar)VarStringpadRight(String s, int totalLength, char paddingChar)VarStringrepeat(int amount, char c)VarStringrepeat(int amount, char[] chars)VarStringrepeat(int amount, String string)Stringreplace(CharSequence target, CharSequence replacement)VarStringreplaceAll(char sample, char replacement)VarStringreplaceAll(char sample, char replacement, int offset)VarStringreplaceAll(char sample, char replacement, int offset, int length)StringreplaceAll(String regex, String replacement)VarStringreplaceFirst(char sample, char replacement)VarStringreplaceFirst(char sample, char replacement, int offset)VarStringreplaceFirst(char sample, char replacement, int offset, int length)StringreplaceFirst(String regex, String replacement)VarStringreset()Simply resets this instance by setting its size to 0 while leaving the actual char storage untouched.VarStringreverse()VarStringset(int index, char c)VarStringsetChars(int index, char... c)VarStringsetLast(char c)VarStringshrinkTo(int n)String[]split(String regex)String[]split(String regex, int limit)VarStringsubsequence(int beginIndex, int endIndex)VarStringsubSequence(int start, int end)Stringsubstring(int beginIndex, int endIndex)VarStringsurrogateCharReverse()Deprecated.not implemented yet.VarStringtab()VarStringtab(int amount)char[]toArray()StringtoString()VarStringtrim()VarStringtruncateTo(int newLength)voidvalidateIndex(int index)voidvalidateRange(int offset, int length)
-
Method Details
-
addNonNull
-
commaSpace
-
New
-
New
-
New
-
add
public final void add(char[] chars, int offset, int length) -
validateIndex
public final void validateIndex(int index) -
validateRange
public final void validateRange(int offset, int length) -
last
public final char last() -
first
public final char first() -
add
-
add
-
add
-
add
-
add
-
add
-
addMapped
-
addMapped
-
add
-
add
-
add
-
add
-
add
-
add
-
add
-
add
-
add
-
add
-
addHexDec
-
addHexDec
-
addObjects
-
ensureFreeCapacity
public final void ensureFreeCapacity(int minimumFreeCapacity) -
ensureCapacity
public final void ensureCapacity(int minimumCapacity) -
addChars
-
addCharSequences
-
addNull
-
addTrue
-
addFalse
-
append
-
add
-
addAll
-
addAll
public final <E> VarString addAll(E[] elements, int offset, int length, BiConsumer<VarString,? super E> joiner) -
addAll
public final <E> VarString addAll(Iterable<? extends E> elements, BiConsumer<VarString,? super E> joiner) -
set
-
setChars
-
setLast
-
reverse
-
surrogateCharReverse
Deprecated.not implemented yet. Currently just callsreverse().Not implemented yet. -
indexOf
public final int indexOf(char c) -
indexOf
public final int indexOf(char c, int offset) -
indexOf
public final int indexOf(char[] chars) -
indexOf
public final int indexOf(char[] chars, int offset) -
indexOf
-
indexOf
-
indexOf
-
indexOf
-
contains
public final boolean contains(char c) -
contains
public final boolean contains(char[] chars) -
contains
-
contains
-
lastIndexOf
public final int lastIndexOf(char c) -
lastIndexOf
public final int lastIndexOf(char c, int offset) -
count
public final int count(char c) -
count
public final int count(char[] chars) -
count
-
count
-
deleteAt
-
deleteLast
-
deleteLast
-
shrinkTo
-
toArray
public final char[] toArray() -
copyTo
-
copyTo
-
isEmpty
public final boolean isEmpty() -
consolidate
-
trim
-
truncateTo
-
subsequence
-
substring
-
iterate
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
list
-
clear
Fills this instance's char storage completely with zeros and sets its size to 0. Only preferable toreset()for in-memory security reasons.- Returns:
- this
-
reset
Simply resets this instance by setting its size to 0 while leaving the actual char storage untouched.- Returns:
- this
-
blank
-
blank
-
tab
-
tab
-
cr
-
cr
-
lf
-
lf
-
crlf
-
repeat
-
repeat
-
repeat
-
apply
-
equalsAt
public final boolean equalsAt(int index, char[] chars, int charsOffset, int charsLength) -
endsWith
public final boolean endsWith(char c) -
endsWith
public final boolean endsWith(char[] chars) -
endsWith
-
padLeft
-
padRight
-
replaceFirst
-
replaceFirst
-
replaceFirst
-
replaceAll
-
replaceAll
-
replaceAll
-
replaceFirst
-
replaceAll
-
replace
-
split
-
split
-
encode
public final byte[] encode()Alias forthis.encodeBy(XChars.standardCharset());for general purpose encoding, with the "standard" being UTF-8 (XChars.utf8()), because any other charset is nonsense for a general case.- Returns:
- the character data of this instance as an UTF-8 byte array.
- See Also:
encodeBy(Charset)
-
encodeBy
-
charAt
public final char charAt(int index)- Specified by:
charAtin interfaceCharSequence
-
length
public final int length()- Specified by:
lengthin interfaceCharSequence
-
subSequence
- Specified by:
subSequencein interfaceCharSequence
-
append
- Specified by:
appendin interfaceAppendable
-
append
- Specified by:
appendin interfaceAppendable
-
append
- Specified by:
appendin interfaceAppendable
-
toString
- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classObject
-