Class Chars
- java.lang.Object
-
- com.google.common.primitives.Chars
-
@GwtCompatible(emulated=true) public final class Chars extends java.lang.Object
Static utility methods pertaining tocharprimitives, that are not already found in eitherCharacterorArrays.All the operations in this class treat
charvalues strictly numerically; they are neither Unicode-aware nor locale-dependent.See the Guava User Guide article on primitive utilities.
- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description static intBYTESThe number of bytes required to represent a primitivecharvalue.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.List<java.lang.Character>asList(char... backingArray)Returns a fixed-size list backed by the specified array, similar toArrays.asList(Object[]).static charcheckedCast(long value)Returns thecharvalue that is equal tovalue, if possible.static intcompare(char a, char b)Compares the two specifiedcharvalues.static char[]concat(char[]... arrays)Returns the values from each provided array combined into a single array.static booleancontains(char[] array, char target)Returnstrueiftargetis present as an element anywhere inarray.static char[]ensureCapacity(char[] array, int minLength, int padding)Returns an array containing the same values asarray, but guaranteed to be of a specified minimum length.static inthashCode(char value)Returns a hash code forvalue; equal to the result of invoking((Character) value).hashCode().static intindexOf(char[] array, char target)Returns the index of the first appearance of the valuetargetinarray.static intindexOf(char[] array, char[] target)Returns the start position of the first occurrence of the specifiedtargetwithinarray, or-1if there is no such occurrence.static java.lang.Stringjoin(java.lang.String separator, char... array)Returns a string containing the suppliedcharvalues separated byseparator.static intlastIndexOf(char[] array, char target)Returns the index of the last appearance of the valuetargetinarray.static java.util.Comparator<char[]>lexicographicalComparator()Returns a comparator that compares twochararrays lexicographically.static charmax(char... array)Returns the greatest value present inarray.static charmin(char... array)Returns the least value present inarray.static charsaturatedCast(long value)Returns thecharnearest in value tovalue.static char[]toArray(java.util.Collection<java.lang.Character> collection)Copies a collection ofCharacterinstances into a new array of primitivecharvalues.
-
-
-
Field Detail
-
BYTES
public static final int BYTES
The number of bytes required to represent a primitivecharvalue.- See Also:
- Constant Field Values
-
-
Method Detail
-
hashCode
public static int hashCode(char value)
Returns a hash code forvalue; equal to the result of invoking((Character) value).hashCode().- Parameters:
value- a primitivecharvalue- Returns:
- a hash code for the value
-
checkedCast
public static char checkedCast(long value)
Returns thecharvalue that is equal tovalue, if possible.- Parameters:
value- any value in the range of thechartype- Returns:
- the
charvalue that equalsvalue - Throws:
java.lang.IllegalArgumentException- ifvalueis greater thanCharacter.MAX_VALUEor less thanCharacter.MIN_VALUE
-
saturatedCast
public static char saturatedCast(long value)
Returns thecharnearest in value tovalue.- Parameters:
value- anylongvalue- Returns:
- the same value cast to
charif it is in the range of thechartype,Character.MAX_VALUEif it is too large, orCharacter.MIN_VALUEif it is too small
-
compare
public static int compare(char a, char b)Compares the two specifiedcharvalues. The sign of the value returned is the same as that of((Character) a).compareTo(b).Note: projects using JDK 7 or later should use the equivalent
Character.compare(char, char)method instead.- Parameters:
a- the firstcharto compareb- the secondcharto compare- Returns:
- a negative value if
ais less thanb; a positive value ifais greater thanb; or zero if they are equal
-
contains
public static boolean contains(char[] array, char target)Returnstrueiftargetis present as an element anywhere inarray.- Parameters:
array- an array ofcharvalues, possibly emptytarget- a primitivecharvalue- Returns:
trueifarray[i] == targetfor some value ofi
-
indexOf
public static int indexOf(char[] array, char target)Returns the index of the first appearance of the valuetargetinarray.- Parameters:
array- an array ofcharvalues, possibly emptytarget- a primitivecharvalue- Returns:
- the least index
ifor whicharray[i] == target, or-1if no such index exists.
-
indexOf
public static int indexOf(char[] array, char[] target)Returns the start position of the first occurrence of the specifiedtargetwithinarray, or-1if there is no such occurrence.More formally, returns the lowest index
isuch thatjava.util.Arrays.copyOfRange(array, i, i + target.length)contains exactly the same elements astarget.- Parameters:
array- the array to search for the sequencetargettarget- the array to search for as a sub-sequence ofarray
-
lastIndexOf
public static int lastIndexOf(char[] array, char target)Returns the index of the last appearance of the valuetargetinarray.- Parameters:
array- an array ofcharvalues, possibly emptytarget- a primitivecharvalue- Returns:
- the greatest index
ifor whicharray[i] == target, or-1if no such index exists.
-
min
public static char min(char... array)
Returns the least value present inarray.- Parameters:
array- a nonempty array ofcharvalues- Returns:
- the value present in
arraythat is less than or equal to every other value in the array - Throws:
java.lang.IllegalArgumentException- ifarrayis empty
-
max
public static char max(char... array)
Returns the greatest value present inarray.- Parameters:
array- a nonempty array ofcharvalues- Returns:
- the value present in
arraythat is greater than or equal to every other value in the array - Throws:
java.lang.IllegalArgumentException- ifarrayis empty
-
concat
public static char[] concat(char[]... arrays)
Returns the values from each provided array combined into a single array. For example,concat(new char[] {a, b}, new char[] {}, new char[] {c}returns the array{a, b, c}.- Parameters:
arrays- zero or morechararrays- Returns:
- a single array containing all the values from the source arrays, in order
-
ensureCapacity
public static char[] ensureCapacity(char[] array, int minLength, int padding)Returns an array containing the same values asarray, but guaranteed to be of a specified minimum length. Ifarrayalready has a length of at leastminLength, it is returned directly. Otherwise, a new array of sizeminLength + paddingis returned, containing the values ofarray, and zeroes in the remaining places.- Parameters:
array- the source arrayminLength- the minimum length the returned array must guaranteepadding- an extra amount to "grow" the array by if growth is necessary- Returns:
- an array containing the values of
array, with guaranteed minimum lengthminLength - Throws:
java.lang.IllegalArgumentException- ifminLengthorpaddingis negative
-
join
public static java.lang.String join(java.lang.String separator, char... array)Returns a string containing the suppliedcharvalues separated byseparator. For example,join("-", '1', '2', '3')returns the string"1-2-3".- Parameters:
separator- the text that should appear between consecutive values in the resulting string (but not at the start or end)array- an array ofcharvalues, possibly empty
-
lexicographicalComparator
public static java.util.Comparator<char[]> lexicographicalComparator()
Returns a comparator that compares twochararrays lexicographically. That is, it compares, usingcompare(char, char)), the first pair of values that follow any common prefix, or when one array is a prefix of the other, treats the shorter array as the lesser. For example,[] < ['a'] < ['a', 'b'] < ['b'].The returned comparator is inconsistent with
Object.equals(Object)(since arrays support only identity equality), but it is consistent withArrays.equals(char[], char[]).- Since:
- 2.0
- See Also:
- Lexicographical order article at Wikipedia
-
toArray
public static char[] toArray(java.util.Collection<java.lang.Character> collection)
Copies a collection ofCharacterinstances into a new array of primitivecharvalues.Elements are copied from the argument collection as if by
collection.toArray(). Calling this method is as thread-safe as calling that method.- Parameters:
collection- a collection ofCharacterobjects- Returns:
- an array containing the same values as
collection, in the same order, converted to primitives - Throws:
java.lang.NullPointerException- ifcollectionor any of its elements is null
-
asList
public static java.util.List<java.lang.Character> asList(char... backingArray)
Returns a fixed-size list backed by the specified array, similar toArrays.asList(Object[]). The list supportsList.set(int, Object), but any attempt to set a value tonullwill result in aNullPointerException.The returned list maintains the values, but not the identities, of
Characterobjects written to or read from it. For example, whetherlist.get(0) == list.get(0)is true for the returned list is unspecified.- Parameters:
backingArray- the array to back the list- Returns:
- a list view of the array
-
-