public final class XChars extends Object
| Modifier and Type | Method and Description |
|---|---|
static VarString |
addSystemString(Object instance,
VarString vs) |
static char[] |
append(char[] string,
char c) |
static char[] |
append(char[] a,
char[] b) |
static char[] |
append(char c,
char[] string) |
static VarString |
appendArraySeperated(VarString vc,
char separator,
Object... elements) |
static VarString |
appendArraySeperated(VarString vs,
String separator,
Object... elements) |
static boolean |
applies(CharSequence chars,
_charPredicate predicate) |
static boolean |
applies(CharSequence chars,
int startIndex,
_charPredicate predicate) |
static VarString |
assembleCautiously(VarString vs,
Object object)
Assembles the passed instance "cautiously" in the sense that only types recognizable via
XTypes.isValueType(Object) get assembled using their Object.toString() method,
while all others are assembled using systemString(Object)
(which behaves identical to the actual implementation of Object.toString()). |
static VarString |
assembleNewLinedTabbed(VarString vs,
CharSequence... elements) |
static VarString |
assembleSeparated(VarString vs,
char separator,
CharSequence... elements) |
static String |
asString(char... chars) |
static String |
asString(char c)
This method does intentionally not use the pseudo-constructor naming pattern since it does not create
new instances of
String. |
static int |
commonPrefixLength(char[] a,
char[] b) |
static int |
commonSubstringLength(char[] a,
char[] b) |
static int |
commonSuffixLength(char[] a,
char[] b) |
static char[] |
concat(char[]... arrays) |
static String |
concat(char separator,
Object... parts) |
static boolean |
contains(char[] data,
char c) |
static boolean |
contains(char[] data,
int dataOffset,
int dataLength,
char c) |
static boolean |
contains(char[] subject,
int subjectOffset,
int subjectLength,
char[] sample,
int sampleOffset,
int sampleLength) |
static boolean |
contains(String[] strings,
String subject) |
static boolean |
contains(String s,
char c) |
static String |
convertUnderscoresToCamelCase(String parameterName) |
static VarString |
convertUnderscoresToCamelCase(VarString vs,
String s) |
static int |
count(char[] input,
int startIndex,
int boundIndex,
char c) |
static int |
count(char[] data,
int dataOffset,
int dataCount,
char[] subject,
int subjectOffset,
int subjectCount) |
static int |
countCharacter(String data,
char c) |
static int |
countCodePoint(String data,
int codePoint) |
static String |
createMedialCapitalsString(String... elements) |
static Charset |
defaultJvmCharset()
Alias for
Charset.defaultCharset(), which returns sometimes the one thing and sometimes another. |
static String |
ensureCharAtEnd(String s,
char c) |
static boolean |
equals(char[] chars1,
int offset1,
char[] chars2,
int offset2,
int length) |
static boolean |
equals(String string,
char[] chars,
int offset) |
static String |
escapeChar(char c) |
static VarString |
escapeChar(VarString vc,
char c) |
static boolean |
hasContent(CharSequence s) |
static boolean |
hasContent(String s) |
static int |
hashCode(char[] chars,
int offset,
int length)
This method rebuilds the
String hashing algorithm. |
static boolean |
hasNoContent(CharSequence s) |
static boolean |
hasNoContent(String s) |
static int |
indexOf(char[] data,
char c) |
static int |
indexOf(char[] data,
int dataLength,
char[] subject) |
static int |
indexOf(char[] source,
int sourceCount,
char[] target,
int targetCount,
int fromIndex) |
static int |
indexOf(char[] data,
int offset,
int length,
char c) |
static int |
indexOf(char[] data,
int dataOffset,
int dataLength,
char[] chars) |
static int |
indexOf(char[] source,
int sourceOffset,
int sourceCount,
char[] target,
int targetOffset,
int targetCount,
int fromIndex) |
static long |
internalParse_longLiteral(char[] input,
int offset,
int length)
Specialcase higher performance implementation of decimal integer literal parsing.
|
static boolean |
intersects(char[] chars1,
char[] chars2)
Returns
true if the two given character arrays have at least one character in common. |
static boolean |
isDigit(char c) |
static boolean |
isEmpty(CharSequence cs) |
static boolean |
isEqual(String s1,
String s2) |
static boolean |
isEqualIgnoreCase(String s1,
String s2) |
static boolean |
isNonWhitespace(char c) |
static boolean |
isWhitespace(char c) |
static void |
iterate(char[] chars,
_charProcedure iterator) |
static void |
iterate(char[] chars,
int offset,
int length,
_charProcedure iterator) |
static void |
iterate(CharSequence chars,
_charProcedure iterator) |
static void |
iterate(String chars,
_charProcedure iterator) |
static char[] |
longestCommonPrefix(char[] a,
char[] b) |
static String |
longestCommonPrefix(String a,
String b) |
static int |
longestCommonPrefixLength(String a,
String b) |
static char[] |
longestCommonSubstring(char[] a,
char[] b) |
static String |
longestCommonSubstring(String a,
String b) |
static int |
longestCommonSubstringLength(String a,
String b) |
static char[] |
longestCommonSuffix(char[] a,
char[] b) |
static String |
longestCommonSuffix(String a,
String b) |
static int |
longestCommonSuffixLength(String a,
String b) |
static String |
lowerCaseFirstChar(String s) |
static String |
mathRangeExcExc(double lowerBound,
double upperBound) |
static String |
mathRangeExcExc(long lowerBound,
long upperBound) |
static String |
mathRangeExcExc(String lowerBound,
String upperBound) |
static String |
mathRangeExcInc(double lowerBound,
double maximum) |
static String |
mathRangeExcInc(long lowerBound,
long maximum) |
static String |
mathRangeExcInc(String lowerBound,
String maximum) |
static String |
mathRangeIncExc(double minimum,
double upperBound) |
static String |
mathRangeIncExc(long minimum,
long upperBound) |
static String |
mathRangeIncExc(String minimum,
String upperBound) |
static String |
mathRangeIncInc(double minimum,
double maximum) |
static String |
mathRangeIncInc(long minimum,
long maximum) |
static String |
mathRangeIncInc(String minimum,
String maximum) |
static int |
maxCharCount_boolean() |
static int |
maxCharCount_byte() |
static int |
maxCharCount_char() |
static int |
maxCharCount_double() |
static int |
maxCharCount_float() |
static int |
maxCharCount_int() |
static int |
maxCharCount_long() |
static int |
maxCharCount_short() |
static String |
nonNullString(Object object) |
static <C extends CharSequence> |
notEmpty(C charSequence) |
static String |
padLeft(String s,
int totalLength) |
static String |
padLeft(String s,
int totalLength,
char paddingChar) |
static String |
padLeft0(String s,
int totalLength) |
static String |
padRight(String s,
int totalLength) |
static String |
padRight(String s,
int totalLength,
char paddingChar) |
static String |
padRight0(String s,
int totalLength) |
static String |
padSpace(String s,
int chars) |
static byte |
parse_byteDecimal(char[] input) |
static byte |
parse_byteDecimal(char[] input,
int offset,
int length) |
static double |
parse_double(char[] input,
int offset,
int length) |
static float |
parse_float(char[] input,
int offset,
int length) |
static int |
parse_intLiteral(char[] input) |
static int |
parse_intLiteral(char[] input,
int offset,
int length) |
static long |
parse_longDecimal(char[] input) |
static long |
parse_longDecimal(char[] input,
int offset,
int length) |
static short |
parse_shortDecimal(char[] input) |
static short |
parse_shortDecimal(char[] input,
int offset,
int length) |
static char |
parseChar(String s)
Parses the char escape sequence Strings "\n" etc.
|
static int[] |
parseTo_intArray(String... intStrings) |
static Integer[] |
parseToIntegerArray(String... intStrings) |
static int |
put(boolean value,
char[] target,
int offset) |
static int |
put(byte value,
char[] target,
int offset) |
static int |
put(char[] value,
char[] target,
int offset) |
static int |
put(double value,
char[] target,
int offset) |
static int |
put(float value,
char[] target,
int offset) |
static int |
put(int value,
char[] target,
int offset) |
static int |
put(long value,
char[] target,
int offset) |
static int |
put(short value,
char[] target,
int offset) |
static int |
put(String s,
char[] target,
int offset) |
static int |
putFalse(char[] target,
int offset) |
static int |
putHexDec(byte value,
char[] target,
int offset) |
static int |
putNull(char[] target,
int offset) |
static int |
putTrue(char[] target,
int offset) |
static char |
randomReadable_char() |
static VarByte |
readAllBytesFromInputStream(InputStream inputStream) |
static VarByte |
readAllBytesFromInputStream(VarByte bytes,
InputStream inputStream) |
static char[] |
readChars(String s) |
static String |
readStringFromInputStream(InputStream inputStream,
Charset charset) |
static int |
replaceFirst(char[] chars,
int offset,
int length,
char sample,
char replacement) |
static int |
shortStringLength()
Arbitrary threshold of 1000 to discrimate "short" strings from "long" strings.
The rationale behind that is that "short" strings usually allow for simpler and faster algorithms, which become inefficient on larger strings. |
static <C extends Consumer<String>> |
splitAndTrimToStrings(char[] input,
char separator,
C collector)
High-performance implementation of the very common case to split a character sequence by a single character
and trim all elements.
|
static <C extends Consumer<String>> |
splitAndTrimToStrings(String input,
char separator,
C collector)
High-performance implementation of the very common case to split a string by a single character
and trim all elements.
|
static String[] |
splitSimple(String s,
String separator) |
static <C extends Consumer<? super String>> |
splitSimple(String s,
String separator,
C collector) |
static Charset |
standardCharset()
Returns
StandardCharsets.UTF_8, because any other one out there is nonsense as a standard. |
static String |
String(boolean value) |
static String |
String(byte value) |
static String |
String(byte[] chars) |
static String |
String(byte[] chars,
Charset charset) |
static String |
String(byte[] chars,
int offset,
int length) |
static String |
String(byte[] chars,
int offset,
int length,
Charset charset) |
static String |
String(ByteBuffer chars) |
static String |
String(ByteBuffer chars,
Charset charset) |
static String |
String(ByteBuffer chars,
int offset,
int length) |
static String |
String(ByteBuffer chars,
int offset,
int length,
Charset charset) |
static String |
String(char value) |
static String |
String(char[] chars) |
static String |
String(char[] chars,
int offset,
int length) |
static String |
String(double value) |
static String |
String(float value) |
static String |
String(int value) |
static String |
String(long value) |
static String |
String(short value) |
static StringBuffer |
StringBuffer(VarString vs) |
static StringBuffer |
StringBuffer(VarString vs,
int offset,
int length) |
static StringBuilder |
StringBuilder(VarString vs) |
static StringBuilder |
StringBuilder(VarString vs,
int offset,
int length) |
static char[] |
substring(char[] string,
int offset,
int bound) |
static String |
systemString(Object instance)
Utility method that replicates the JVM's intrinsic system string as defined in
Object.toString(). |
static int |
to_int(char digit) |
static char[][] |
toArrays(XGettingSequence<String> strings) |
static char[] |
toCharArray(CharSequence c) |
static char[] |
toCharArray(StringBuffer asb) |
static char[] |
toCharArray(StringBuilder asb) |
static char |
toHexadecimal(int b) |
static String |
toSingleLine(String multiLineString,
String lineBreakReplacement) |
static String |
trim(String s)
Calls
String.trim() on a non-null argument, returns null otherwise. |
static String |
trimEmptyToNull(String s) |
static String |
trimToString(char[] input,
int lowerOffset,
int length)
Creates a
String instance with trimmed content directly from a character sequence without
unnecessary intermediate instances. |
static byte |
uncheckedParse_byteDecimal(char[] input,
int offset,
int length) |
static int |
uncheckedParse_intLiteral(char[] input,
int offset,
int length) |
static long |
uncheckedParse_longLiteral(char[] input,
int offset,
int length) |
static short |
uncheckedParse_shortDecimal(char[] input,
int offset,
int length) |
static String |
upperCaseFirstChar(String s)
Ensures that the first character of the passed
String is in upper case. |
static Charset |
utf8()
It's UTF-8!
|
static void |
validateIndex(char[] chars,
int index) |
static void |
validateRange(char[] chars,
int offset,
int length) |
static String |
valueString(Object value)
Returns
value.toString() if the passed value is not null, otherwise null. |
public static final int maxCharCount_byte()
public static final int maxCharCount_boolean()
public static final int maxCharCount_short()
public static final int maxCharCount_char()
public static final int maxCharCount_int()
public static final int maxCharCount_float()
public static final int maxCharCount_long()
public static final int maxCharCount_double()
public static final boolean isWhitespace(char c)
public static final boolean isNonWhitespace(char c)
public static final int shortStringLength()
public static final Charset utf8()
StandardCharsets.UTF_8public static final Charset standardCharset()
StandardCharsets.UTF_8, because any other one out there is nonsense as a standard.java.nio.charset.Charset.forName("UTF-8").public static final Charset defaultJvmCharset()
Charset.defaultCharset(), which returns sometimes the one thing and sometimes another.
It is strongly advised to use a reliable Charset querying method, like UTF-8, which also
is the only reasonable choice for the standard charset.Charset.defaultCharset()public static final void validateIndex(char[] chars,
int index)
public static final void validateRange(char[] chars,
int offset,
int length)
public static final boolean equals(String string, char[] chars, int offset)
public static final boolean equals(char[] chars1,
int offset1,
char[] chars2,
int offset2,
int length)
public static final char toHexadecimal(int b)
throws IllegalArgumentException
IllegalArgumentExceptionpublic static final int indexOf(char[] data,
char c)
public static final int indexOf(char[] data,
int offset,
int length,
char c)
public static final int indexOf(char[] source,
int sourceOffset,
int sourceCount,
char[] target,
int targetOffset,
int targetCount,
int fromIndex)
public static final VarByte readAllBytesFromInputStream(VarByte bytes, InputStream inputStream) throws IOException
IOExceptionpublic static final VarByte readAllBytesFromInputStream(InputStream inputStream) throws IOException
IOExceptionpublic static final String readStringFromInputStream(InputStream inputStream, Charset charset) throws IOException
IOExceptionpublic static final int indexOf(char[] data,
int dataLength,
char[] subject)
public static final int indexOf(char[] data,
int dataOffset,
int dataLength,
char[] chars)
public static final int indexOf(char[] source,
int sourceCount,
char[] target,
int targetCount,
int fromIndex)
public static final int replaceFirst(char[] chars,
int offset,
int length,
char sample,
char replacement)
public static final int count(char[] input,
int startIndex,
int boundIndex,
char c)
public static final int count(char[] data,
int dataOffset,
int dataCount,
char[] subject,
int subjectOffset,
int subjectCount)
public static final boolean hasContent(CharSequence s)
public static final boolean hasNoContent(CharSequence s)
public static final boolean hasContent(String s)
public static final boolean hasNoContent(String s)
public static final String asString(char c)
String. Instead, it returns a constant instance of an intrinsic look-up table.public static final String asString(char... chars)
public static final String upperCaseFirstChar(String s)
String is in upper case.
If the passed String is null, has a length of 0 or already has an upper case first character,
it is returned. Otherwise, the first character of the passed String is transformed to upper case
and concatenated with the rest of the passed String into a new String instance.
s - the String for which the first character shall be ensured to be upper case.public static final char[] concat(char[]... arrays)
public static final VarString appendArraySeperated(VarString vs, String separator, Object... elements)
public static final VarString appendArraySeperated(VarString vc, char separator, Object... elements)
public static final char[] toCharArray(CharSequence c)
public static final char[] toCharArray(StringBuilder asb)
public static final char[] toCharArray(StringBuffer asb)
public static final boolean intersects(char[] chars1,
char[] chars2)
true if the two given character arrays have at least one character in common.chars1 - first char arraychars2 - second char arraytrue if the two given character arrays intersect each other.public static final char[] append(char c,
char[] string)
public static final char[] append(char[] string,
char c)
public static final char[] append(char[] a,
char[] b)
public static final int longestCommonSubstringLength(String a, String b)
public static final int commonSubstringLength(char[] a,
char[] b)
public static final char[] longestCommonSubstring(char[] a,
char[] b)
public static final char[] substring(char[] string,
int offset,
int bound)
public static final String convertUnderscoresToCamelCase(String parameterName)
public static final VarString convertUnderscoresToCamelCase(VarString vs, String s)
public static final int commonPrefixLength(char[] a,
char[] b)
public static final int commonSuffixLength(char[] a,
char[] b)
public static final char[] longestCommonSuffix(char[] a,
char[] b)
public static final char[] longestCommonPrefix(char[] a,
char[] b)
public static final char parseChar(String s)
s - the char escape sequencepublic static final String escapeChar(char c)
public static final String createMedialCapitalsString(String... elements)
public static final String toSingleLine(String multiLineString, String lineBreakReplacement)
public static final <C extends CharSequence> C notEmpty(C charSequence)
public static final boolean isEmpty(CharSequence cs)
public static final void iterate(CharSequence chars, _charProcedure iterator)
public static final void iterate(String chars, _charProcedure iterator)
public static final void iterate(char[] chars,
_charProcedure iterator)
public static final void iterate(char[] chars,
int offset,
int length,
_charProcedure iterator)
public static final int put(byte value,
char[] target,
int offset)
public static final int putHexDec(byte value,
char[] target,
int offset)
public static final int put(boolean value,
char[] target,
int offset)
public static final int put(short value,
char[] target,
int offset)
public static final int put(int value,
char[] target,
int offset)
public static final int put(float value,
char[] target,
int offset)
public static final int put(long value,
char[] target,
int offset)
public static final int put(double value,
char[] target,
int offset)
public static final int put(String s, char[] target, int offset)
public static final int put(char[] value,
char[] target,
int offset)
public static final int putNull(char[] target,
int offset)
public static final int putTrue(char[] target,
int offset)
public static final int putFalse(char[] target,
int offset)
public static final String String(byte value)
public static final String String(boolean value)
public static final String String(short value)
public static final String String(char value)
public static final String String(int value)
public static final String String(float value)
public static final String String(long value)
public static final String String(double value)
public static final String String(char[] chars)
public static final String String(char[] chars, int offset, int length)
public static final String String(byte[] chars)
public static final String String(byte[] chars, int offset, int length)
public static final String String(ByteBuffer chars)
public static final String String(ByteBuffer chars, Charset charset)
public static final String String(ByteBuffer chars, int offset, int length)
public static final String String(ByteBuffer chars, int offset, int length, Charset charset)
public static final StringBuilder StringBuilder(VarString vs)
public static final StringBuilder StringBuilder(VarString vs, int offset, int length)
public static final StringBuffer StringBuffer(VarString vs)
public static final StringBuffer StringBuffer(VarString vs, int offset, int length)
public static final char[] readChars(String s)
public static final int hashCode(char[] chars,
int offset,
int length)
String hashing algorithm.
Returns a hash code for the passed character range. The hash code is computed as
usings[0]*31^(n - 1) + s[1]*31^(n-2) + ... + s[n - 1]
int arithmetic, where s[i] is the
ith character counted from the given offset, n is the length
and ^ indicates exponentiation.
The hash value of an empty range is zero.chars - the character arrayoffset - the start offsetlength - the lengthString.hashCode()public static final <C extends Consumer<String>> C splitAndTrimToStrings(String input, char separator, C collector)
C - the collector typeinput - the String to splitseparator - the separator char to split oncollector - the result collectortrimToString(char[], int, int)public static final <C extends Consumer<String>> C splitAndTrimToStrings(char[] input, char separator, C collector)
C - the collector typeinput - the char array to splitseparator - the separator char to split oncollector - the result collectortrimToString(char[], int, int)public static <C extends Consumer<? super String>> C splitSimple(String s, String separator, C collector)
public static final String trimToString(char[] input, int lowerOffset, int length)
String instance with trimmed content directly from a character sequence without
unnecessary intermediate instances.input - the source char array to trimlowerOffset - the start offsetlength - the lengthpublic static String trim(String s)
String.trim() on a non-null argument, returns null otherwise.
(this is nothing but a static String.trim())public static final int[] parseTo_intArray(String... intStrings)
public static final VarString assembleNewLinedTabbed(VarString vs, CharSequence... elements)
public static final VarString assembleSeparated(VarString vs, char separator, CharSequence... elements)
public static final byte parse_byteDecimal(char[] input)
public static final short parse_shortDecimal(char[] input)
public static final int parse_intLiteral(char[] input)
public static final long parse_longDecimal(char[] input)
public static final byte parse_byteDecimal(char[] input,
int offset,
int length)
public static final short parse_shortDecimal(char[] input,
int offset,
int length)
public static final int parse_intLiteral(char[] input,
int offset,
int length)
public static final long parse_longDecimal(char[] input,
int offset,
int length)
public static final float parse_float(char[] input,
int offset,
int length)
public static final double parse_double(char[] input,
int offset,
int length)
public static final byte uncheckedParse_byteDecimal(char[] input,
int offset,
int length)
public static final short uncheckedParse_shortDecimal(char[] input,
int offset,
int length)
public static final int uncheckedParse_intLiteral(char[] input,
int offset,
int length)
public static final long uncheckedParse_longLiteral(char[] input,
int offset,
int length)
public static final long internalParse_longLiteral(char[] input,
int offset,
int length)
input - the source char arrayoffset - the start offsetlength - the lengthpublic static final int to_int(char digit)
public static final char[][] toArrays(XGettingSequence<String> strings)
public static final boolean contains(String s, char c)
public static final boolean contains(char[] subject,
int subjectOffset,
int subjectLength,
char[] sample,
int sampleOffset,
int sampleLength)
public static final boolean contains(char[] data,
char c)
public static final boolean contains(char[] data,
int dataOffset,
int dataLength,
char c)
public static String systemString(Object instance)
Object.toString().
(It's funny how much functionality is missing in the JDK API).instance - the instance whose system string shall be generated.public static String valueString(Object value)
value.toString() if the passed value is not null, otherwise null.
Note that this is a different behavior than String.valueOf(Object) has, as the latter returns
the string "null" for a passed null reference. The latter is merely an output helper
method, albeit clumsily named and placed as if it were a general utility method. THIS method here
is the far more useful general utility method.
The behavior of this method is needed for example for converting values in a generic data structure (e.g. a Object[] array) to string values but have the actual values, including null (information about a missing value), maintained.
value - the value to be projected to its string representation if not null.Object.toString(),
String.valueOf(Object)public static final VarString assembleCautiously(VarString vs, Object object)
XTypes.isValueType(Object) get assembled using their Object.toString() method,
while all others are assembled using systemString(Object)
(which behaves identical to the actual implementation of Object.toString()).vs - the VarString instance to hold the assembled string.object - the instance to be assembled "cautiously" as described above.VarString.add(Object, java.util.function.BiConsumer),
XTypes.isValueType(Object),
Object.toString(),
systemString(Object)public static final boolean applies(CharSequence chars, _charPredicate predicate)
public static final boolean applies(CharSequence chars, int startIndex, _charPredicate predicate)
public static boolean isDigit(char c)
public static char randomReadable_char()
public static int countCharacter(String data, char c)
public static int countCodePoint(String data, int codePoint)
public static String mathRangeIncInc(long minimum, long maximum)
public static String mathRangeIncExc(long minimum, long upperBound)
public static String mathRangeExcInc(long lowerBound, long maximum)
public static String mathRangeExcExc(long lowerBound, long upperBound)
public static String mathRangeIncInc(double minimum, double maximum)
public static String mathRangeIncExc(double minimum, double upperBound)
public static String mathRangeExcInc(double lowerBound, double maximum)
public static String mathRangeExcExc(double lowerBound, double upperBound)
Copyright © 2022 MicroStream Software. All rights reserved.