Package java.lang

Class Character

    • Constructor Summary

      Constructors 
      Constructor Description
      Character​(char value)
      Constructs a new Character with the specified primitive char value.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static int charCount​(int codePoint)
      Calculates the number of char values required to represent the specified Unicode code point.
      char charValue()
      Gets the primitive value of this character.
      static int codePointAt​(char[] seq, int index)
      Returns the code point at index in the specified array of character units.
      static int codePointAt​(char[] seq, int index, int limit)
      Returns the code point at index in the specified array of character units, where index has to be less than limit.
      static int codePointBefore​(char[] seq, int index)
      Returns the code point that precedes index in the specified array of character units.
      static int codePointBefore​(char[] seq, int index, int start)
      Returns the code point that precedes the index in the specified array of character units and is not less than start.
      static int codePointCount​(char[] seq, int offset, int count)
      Counts the number of Unicode code points in the subsequence of the specified char array, as delineated by offset and count.
      static int compare​(char lhs, char rhs)
      Compares two char values.
      int compareTo​(Character c)
      Compares this object to the specified character object to determine their relative order.
      static int digit​(char c, int radix)
      Convenience method to determine the value of the specified character c in the supplied radix.
      static int digit​(int codePoint, int radix)
      Convenience method to determine the value of the character codePoint in the supplied radix.
      boolean equals​(Object object)
      Compares this object with the specified object and indicates if they are equal.
      static char forDigit​(int digit, int radix)
      Returns the character which represents the specified digit in the specified radix.
      static int getNumericValue​(char c)
      Returns the numeric value of the specified Unicode character.
      static int getNumericValue​(int codePoint)
      Gets the numeric value of the specified Unicode code point.
      int hashCode()
      Returns an integer hash code for this object.
      static char highSurrogate​(int codePoint)
      Returns the high surrogate for the given code point.
      static boolean isBmpCodePoint​(int codePoint)
      Returns true if the given code point is in the Basic Multilingual Plane (BMP).
      static boolean isDigit​(char c)
      Indicates whether the specified character is a digit.
      static boolean isDigit​(int codePoint)
      Indicates whether the specified code point is a digit.
      static boolean isHighSurrogate​(char ch)
      Indicates whether ch is a high- (or leading-) surrogate code unit that is used for representing supplementary characters in UTF-16 encoding.
      static boolean isISOControl​(char c)
      Indicates whether the specified character is an ISO control character.
      static boolean isISOControl​(int c)
      Indicates whether the specified code point is an ISO control character.
      static boolean isLetter​(char c)
      Indicates whether the specified character is a letter.
      static boolean isLetter​(int codePoint)
      Indicates whether the specified code point is a letter.
      static boolean isLetterOrDigit​(char c)
      Indicates whether the specified character is a letter or a digit.
      static boolean isLetterOrDigit​(int codePoint)
      Indicates whether the specified code point is a letter or a digit.
      static boolean isLowerCase​(char c)
      Indicates whether the specified character is a lower case letter.
      static boolean isLowerCase​(int codePoint)
      Indicates whether the specified code point is a lower case letter.
      static boolean isLowSurrogate​(char ch)
      Indicates whether ch is a low- (or trailing-) surrogate code unit that is used for representing supplementary characters in UTF-16 encoding.
      static boolean isSpace​(char c)
      Deprecated.
      Use isWhitespace(char) instead.
      static boolean isSpaceChar​(char c)
      static boolean isSpaceChar​(int codePoint)
      Returns true if the given code point is a Unicode space character.
      static boolean isSupplementaryCodePoint​(int codePoint)
      Indicates whether codePoint is within the supplementary code point range.
      static boolean isSurrogate​(char ch)
      Returns true if the given character is a high or low surrogate.
      static boolean isSurrogatePair​(char high, char low)
      Indicates whether the specified character pair is a valid surrogate pair.
      static boolean isUpperCase​(char c)
      Indicates whether the specified character is an upper case letter.
      static boolean isUpperCase​(int codePoint)
      Indicates whether the specified code point is an upper case letter.
      static boolean isValidCodePoint​(int codePoint)
      Indicates whether codePoint is a valid Unicode code point.
      static boolean isWhitespace​(char c)
      static boolean isWhitespace​(int codePoint)
      Returns true if the given code point is a Unicode whitespace character.
      static char lowSurrogate​(int codePoint)
      Returns the low surrogate for the given code point.
      static int offsetByCodePoints​(char[] seq, int start, int count, int index, int codePointOffset)
      Determines the index in a subsequence of the specified character array that is offset codePointOffset code points from index.
      static char reverseBytes​(char c)
      Reverses the order of the first and second byte in the specified character.
      static char[] toChars​(int codePoint)
      Converts the specified Unicode code point into a UTF-16 encoded sequence and returns it as a char array.
      static int toChars​(int codePoint, char[] dst, int dstIndex)
      Converts the specified Unicode code point into a UTF-16 encoded sequence and copies the value(s) into the char array dst, starting at index dstIndex.
      static int toCodePoint​(char high, char low)
      Converts a surrogate pair into a Unicode code point.
      static char toLowerCase​(char c)
      Returns the lower case equivalent for the specified character if the character is an upper case letter.
      static int toLowerCase​(int codePoint)
      Returns the lower case equivalent for the specified code point if it is an upper case letter.
      String toString()
      Returns a string containing a concise, human-readable description of this object.
      static String toString​(char value)
      Converts the specified character to its string representation.
      static char toUpperCase​(char c)
      Returns the upper case equivalent for the specified character if the character is a lower case letter.
      static int toUpperCase​(int codePoint)
      Returns the upper case equivalent for the specified code point if the code point is a lower case letter.
      static Character valueOf​(char c)
      Returns a Character instance for the char value passed.
    • Field Detail

      • MIN_VALUE

        public static final char MIN_VALUE
        The minimum Character value.
        See Also:
        Constant Field Values
      • MAX_VALUE

        public static final char MAX_VALUE
        The maximum Character value.
        See Also:
        Constant Field Values
      • MIN_RADIX

        public static final int MIN_RADIX
        The minimum radix used for conversions between characters and integers.
        See Also:
        Constant Field Values
      • MAX_RADIX

        public static final int MAX_RADIX
        The maximum radix used for conversions between characters and integers.
        See Also:
        Constant Field Values
      • UNASSIGNED

        public static final byte UNASSIGNED
        Unicode category constant Cn.
        See Also:
        Constant Field Values
      • UPPERCASE_LETTER

        public static final byte UPPERCASE_LETTER
        Unicode category constant Lu.
        See Also:
        Constant Field Values
      • LOWERCASE_LETTER

        public static final byte LOWERCASE_LETTER
        Unicode category constant Ll.
        See Also:
        Constant Field Values
      • TITLECASE_LETTER

        public static final byte TITLECASE_LETTER
        Unicode category constant Lt.
        See Also:
        Constant Field Values
      • MODIFIER_LETTER

        public static final byte MODIFIER_LETTER
        Unicode category constant Lm.
        See Also:
        Constant Field Values
      • OTHER_LETTER

        public static final byte OTHER_LETTER
        Unicode category constant Lo.
        See Also:
        Constant Field Values
      • NON_SPACING_MARK

        public static final byte NON_SPACING_MARK
        Unicode category constant Mn.
        See Also:
        Constant Field Values
      • ENCLOSING_MARK

        public static final byte ENCLOSING_MARK
        Unicode category constant Me.
        See Also:
        Constant Field Values
      • COMBINING_SPACING_MARK

        public static final byte COMBINING_SPACING_MARK
        Unicode category constant Mc.
        See Also:
        Constant Field Values
      • DECIMAL_DIGIT_NUMBER

        public static final byte DECIMAL_DIGIT_NUMBER
        Unicode category constant Nd.
        See Also:
        Constant Field Values
      • LETTER_NUMBER

        public static final byte LETTER_NUMBER
        Unicode category constant Nl.
        See Also:
        Constant Field Values
      • OTHER_NUMBER

        public static final byte OTHER_NUMBER
        Unicode category constant No.
        See Also:
        Constant Field Values
      • SPACE_SEPARATOR

        public static final byte SPACE_SEPARATOR
        Unicode category constant Zs.
        See Also:
        Constant Field Values
      • LINE_SEPARATOR

        public static final byte LINE_SEPARATOR
        Unicode category constant Zl.
        See Also:
        Constant Field Values
      • PARAGRAPH_SEPARATOR

        public static final byte PARAGRAPH_SEPARATOR
        Unicode category constant Zp.
        See Also:
        Constant Field Values
      • CONTROL

        public static final byte CONTROL
        Unicode category constant Cc.
        See Also:
        Constant Field Values
      • PRIVATE_USE

        public static final byte PRIVATE_USE
        Unicode category constant Co.
        See Also:
        Constant Field Values
      • SURROGATE

        public static final byte SURROGATE
        Unicode category constant Cs.
        See Also:
        Constant Field Values
      • DASH_PUNCTUATION

        public static final byte DASH_PUNCTUATION
        Unicode category constant Pd.
        See Also:
        Constant Field Values
      • START_PUNCTUATION

        public static final byte START_PUNCTUATION
        Unicode category constant Ps.
        See Also:
        Constant Field Values
      • END_PUNCTUATION

        public static final byte END_PUNCTUATION
        Unicode category constant Pe.
        See Also:
        Constant Field Values
      • CONNECTOR_PUNCTUATION

        public static final byte CONNECTOR_PUNCTUATION
        Unicode category constant Pc.
        See Also:
        Constant Field Values
      • OTHER_PUNCTUATION

        public static final byte OTHER_PUNCTUATION
        Unicode category constant Po.
        See Also:
        Constant Field Values
      • MATH_SYMBOL

        public static final byte MATH_SYMBOL
        Unicode category constant Sm.
        See Also:
        Constant Field Values
      • CURRENCY_SYMBOL

        public static final byte CURRENCY_SYMBOL
        Unicode category constant Sc.
        See Also:
        Constant Field Values
      • MODIFIER_SYMBOL

        public static final byte MODIFIER_SYMBOL
        Unicode category constant Sk.
        See Also:
        Constant Field Values
      • OTHER_SYMBOL

        public static final byte OTHER_SYMBOL
        Unicode category constant So.
        See Also:
        Constant Field Values
      • INITIAL_QUOTE_PUNCTUATION

        public static final byte INITIAL_QUOTE_PUNCTUATION
        Unicode category constant Pi.
        Since:
        1.4
        See Also:
        Constant Field Values
      • FINAL_QUOTE_PUNCTUATION

        public static final byte FINAL_QUOTE_PUNCTUATION
        Unicode category constant Pf.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_UNDEFINED

        public static final byte DIRECTIONALITY_UNDEFINED
        Unicode bidirectional constant.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_LEFT_TO_RIGHT

        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT
        Unicode bidirectional constant L.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_RIGHT_TO_LEFT

        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT
        Unicode bidirectional constant R.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC

        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
        Unicode bidirectional constant AL.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_EUROPEAN_NUMBER

        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER
        Unicode bidirectional constant EN.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR

        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
        Unicode bidirectional constant ES.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR

        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
        Unicode bidirectional constant ET.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_ARABIC_NUMBER

        public static final byte DIRECTIONALITY_ARABIC_NUMBER
        Unicode bidirectional constant AN.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_COMMON_NUMBER_SEPARATOR

        public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
        Unicode bidirectional constant CS.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_NONSPACING_MARK

        public static final byte DIRECTIONALITY_NONSPACING_MARK
        Unicode bidirectional constant NSM.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_BOUNDARY_NEUTRAL

        public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL
        Unicode bidirectional constant BN.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_PARAGRAPH_SEPARATOR

        public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR
        Unicode bidirectional constant B.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_SEGMENT_SEPARATOR

        public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR
        Unicode bidirectional constant S.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_WHITESPACE

        public static final byte DIRECTIONALITY_WHITESPACE
        Unicode bidirectional constant WS.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_OTHER_NEUTRALS

        public static final byte DIRECTIONALITY_OTHER_NEUTRALS
        Unicode bidirectional constant ON.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING

        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
        Unicode bidirectional constant LRE.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE

        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
        Unicode bidirectional constant LRO.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING

        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
        Unicode bidirectional constant RLE.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE

        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
        Unicode bidirectional constant RLO.
        Since:
        1.4
        See Also:
        Constant Field Values
      • DIRECTIONALITY_POP_DIRECTIONAL_FORMAT

        public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
        Unicode bidirectional constant PDF.
        Since:
        1.4
        See Also:
        Constant Field Values
      • MIN_HIGH_SURROGATE

        public static final char MIN_HIGH_SURROGATE
        The minimum value of a high surrogate or leading surrogate unit in UTF-16 encoding, '?'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MAX_HIGH_SURROGATE

        public static final char MAX_HIGH_SURROGATE
        The maximum value of a high surrogate or leading surrogate unit in UTF-16 encoding, '?'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MIN_LOW_SURROGATE

        public static final char MIN_LOW_SURROGATE
        The minimum value of a low surrogate or trailing surrogate unit in UTF-16 encoding, '?'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MAX_LOW_SURROGATE

        public static final char MAX_LOW_SURROGATE
        The maximum value of a low surrogate or trailing surrogate unit in UTF-16 encoding, '?'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MIN_SURROGATE

        public static final char MIN_SURROGATE
        The minimum value of a surrogate unit in UTF-16 encoding, '?'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MAX_SURROGATE

        public static final char MAX_SURROGATE
        The maximum value of a surrogate unit in UTF-16 encoding, '?'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MIN_SUPPLEMENTARY_CODE_POINT

        public static final int MIN_SUPPLEMENTARY_CODE_POINT
        The minimum value of a supplementary code point, U+010000.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MIN_CODE_POINT

        public static final int MIN_CODE_POINT
        The minimum code point value, U+0000.
        Since:
        1.5
        See Also:
        Constant Field Values
      • MAX_CODE_POINT

        public static final int MAX_CODE_POINT
        The maximum code point value, U+10FFFF.
        Since:
        1.5
        See Also:
        Constant Field Values
      • SIZE

        public static final int SIZE
        The number of bits required to represent a Character value unsigned form.
        Since:
        1.5
        See Also:
        Constant Field Values
    • Constructor Detail

      • Character

        public Character​(char value)
        Constructs a new Character with the specified primitive char value.
        Parameters:
        value - the primitive char value to store in the new instance.
    • Method Detail

      • charValue

        public char charValue()
        Gets the primitive value of this character.
        Returns:
        this object's primitive value.
      • compareTo

        public int compareTo​(Character c)
        Compares this object to the specified character object to determine their relative order.
        Specified by:
        compareTo in interface Comparable<Character>
        Parameters:
        c - the character object to compare this object to.
        Returns:
        0 if the value of this character and the value of c are equal; a positive value if the value of this character is greater than the value of c; a negative value if the value of this character is less than the value of c.
        Since:
        1.2
        See Also:
        Comparable
      • compare

        public static int compare​(char lhs,
                                  char rhs)
        Compares two char values.
        Parameters:
        lhs - First value.
        rhs - Second value.
        Returns:
        0 if lhs = rhs, less than 0 if lhs < rhs, and greater than 0 if lhs > rhs.
        Since:
        1.7
      • valueOf

        public static Character valueOf​(char c)
        Returns a Character instance for the char value passed.

        Parameters:
        c - the char value for which to get a Character instance.
        Returns:
        the Character instance for c.
        Since:
        1.5
      • isValidCodePoint

        public static boolean isValidCodePoint​(int codePoint)
        Indicates whether codePoint is a valid Unicode code point.
        Parameters:
        codePoint - the code point to test.
        Returns:
        true if codePoint is a valid Unicode code point; false otherwise.
        Since:
        1.5
      • isSupplementaryCodePoint

        public static boolean isSupplementaryCodePoint​(int codePoint)
        Indicates whether codePoint is within the supplementary code point range.
        Parameters:
        codePoint - the code point to test.
        Returns:
        true if codePoint is within the supplementary code point range; false otherwise.
        Since:
        1.5
      • isHighSurrogate

        public static boolean isHighSurrogate​(char ch)
        Indicates whether ch is a high- (or leading-) surrogate code unit that is used for representing supplementary characters in UTF-16 encoding.
        Parameters:
        ch - the character to test.
        Returns:
        true if ch is a high-surrogate code unit; false otherwise.
        Since:
        1.5
        See Also:
        isLowSurrogate(char)
      • isLowSurrogate

        public static boolean isLowSurrogate​(char ch)
        Indicates whether ch is a low- (or trailing-) surrogate code unit that is used for representing supplementary characters in UTF-16 encoding.
        Parameters:
        ch - the character to test.
        Returns:
        true if ch is a low-surrogate code unit; false otherwise.
        Since:
        1.5
        See Also:
        isHighSurrogate(char)
      • isSurrogate

        public static boolean isSurrogate​(char ch)
        Returns true if the given character is a high or low surrogate.
        Parameters:
        ch - Character
        Returns:
        true if surrogate.
        Since:
        1.7
      • isSurrogatePair

        public static boolean isSurrogatePair​(char high,
                                              char low)
        Indicates whether the specified character pair is a valid surrogate pair.
        Parameters:
        high - the high surrogate unit to test.
        low - the low surrogate unit to test.
        Returns:
        true if high is a high-surrogate code unit and low is a low-surrogate code unit; false otherwise.
        Since:
        1.5
        See Also:
        isHighSurrogate(char), isLowSurrogate(char)
      • charCount

        public static int charCount​(int codePoint)
        Calculates the number of char values required to represent the specified Unicode code point. This method checks if the codePoint is greater than or equal to 0x10000, in which case 2 is returned, otherwise 1. To test if the code point is valid, use the isValidCodePoint(int) method.
        Parameters:
        codePoint - the code point for which to calculate the number of required chars.
        Returns:
        2 if codePoint >= 0x10000; 1 otherwise.
        Since:
        1.5
        See Also:
        isValidCodePoint(int), isSupplementaryCodePoint(int)
      • toCodePoint

        public static int toCodePoint​(char high,
                                      char low)
        Converts a surrogate pair into a Unicode code point. This method assumes that the pair are valid surrogates. If the pair are not valid surrogates, then the result is indeterminate. The isSurrogatePair(char, char) method should be used prior to this method to validate the pair.
        Parameters:
        high - the high surrogate unit.
        low - the low surrogate unit.
        Returns:
        the Unicode code point corresponding to the surrogate unit pair.
        Since:
        1.5
        See Also:
        isSurrogatePair(char, char)
      • codePointAt

        public static int codePointAt​(char[] seq,
                                      int index)
        Returns the code point at index in the specified array of character units. If the unit at index is a high-surrogate unit, index + 1 is less than the length of the array and the unit at index + 1 is a low-surrogate unit, then the supplementary code point represented by the pair is returned; otherwise the char value at index is returned.
        Parameters:
        seq - the source array of char units.
        index - the position in seq from which to retrieve the code point.
        Returns:
        the Unicode code point or char value at index in seq.
        Throws:
        NullPointerException - if seq is null.
        IndexOutOfBoundsException - if the index is negative or greater than or equal to the length of seq.
        Since:
        1.5
      • codePointAt

        public static int codePointAt​(char[] seq,
                                      int index,
                                      int limit)
        Returns the code point at index in the specified array of character units, where index has to be less than limit. If the unit at index is a high-surrogate unit, index + 1 is less than limit and the unit at index + 1 is a low-surrogate unit, then the supplementary code point represented by the pair is returned; otherwise the char value at index is returned.
        Parameters:
        seq - the source array of char units.
        index - the position in seq from which to get the code point.
        limit - the index after the last unit in seq that can be used.
        Returns:
        the Unicode code point or char value at index in seq.
        Throws:
        NullPointerException - if seq is null.
        IndexOutOfBoundsException - if index < 0, index >= limit, limit < 0 or if limit is greater than the length of seq.
        Since:
        1.5
      • codePointBefore

        public static int codePointBefore​(char[] seq,
                                          int index)
        Returns the code point that precedes index in the specified array of character units. If the unit at index - 1 is a low-surrogate unit, index - 2 is not negative and the unit at index - 2 is a high-surrogate unit, then the supplementary code point represented by the pair is returned; otherwise the char value at index - 1 is returned.
        Parameters:
        seq - the source array of char units.
        index - the position in seq following the code point that should be returned.
        Returns:
        the Unicode code point or char value before index in seq.
        Throws:
        NullPointerException - if seq is null.
        IndexOutOfBoundsException - if the index is less than 1 or greater than the length of seq.
        Since:
        1.5
      • codePointBefore

        public static int codePointBefore​(char[] seq,
                                          int index,
                                          int start)
        Returns the code point that precedes the index in the specified array of character units and is not less than start. If the unit at index - 1 is a low-surrogate unit, index - 2 is not less than start and the unit at index - 2 is a high-surrogate unit, then the supplementary code point represented by the pair is returned; otherwise the char value at index - 1 is returned.
        Parameters:
        seq - the source array of char units.
        index - the position in seq following the code point that should be returned.
        start - the index of the first element in seq.
        Returns:
        the Unicode code point or char value before index in seq.
        Throws:
        NullPointerException - if seq is null.
        IndexOutOfBoundsException - if the index <= start, start < 0, index is greater than the length of seq, or if start is equal or greater than the length of seq.
        Since:
        1.5
      • toChars

        public static int toChars​(int codePoint,
                                  char[] dst,
                                  int dstIndex)
        Converts the specified Unicode code point into a UTF-16 encoded sequence and copies the value(s) into the char array dst, starting at index dstIndex.
        Parameters:
        codePoint - the Unicode code point to encode.
        dst - the destination array to copy the encoded value into.
        dstIndex - the index in dst from where to start copying.
        Returns:
        the number of char value units copied into dst.
        Throws:
        IllegalArgumentException - if codePoint is not a valid code point.
        NullPointerException - if dst is null.
        IndexOutOfBoundsException - if dstIndex is negative, greater than or equal to dst.length or equals dst.length - 1 when codePoint is a supplementary code point.
        Since:
        1.5
      • toChars

        public static char[] toChars​(int codePoint)
        Converts the specified Unicode code point into a UTF-16 encoded sequence and returns it as a char array.
        Parameters:
        codePoint - the Unicode code point to encode.
        Returns:
        the UTF-16 encoded char sequence. If codePoint is a supplementary code point, then the returned array contains two characters, otherwise it contains just one character.
        Throws:
        IllegalArgumentException - if codePoint is not a valid code point.
        Since:
        1.5
      • codePointCount

        public static int codePointCount​(char[] seq,
                                         int offset,
                                         int count)
        Counts the number of Unicode code points in the subsequence of the specified char array, as delineated by offset and count. Any surrogate values with missing pair values will be counted as one code point.
        Parameters:
        seq - the char array to look through
        offset - the inclusive index to begin counting at.
        count - the number of char values to look through in seq.
        Returns:
        the number of Unicode code points.
        Throws:
        NullPointerException - if seq is null.
        IndexOutOfBoundsException - if offset < 0, count < 0 or if offset + count is greater than the length of seq.
        Since:
        1.5
      • offsetByCodePoints

        public static int offsetByCodePoints​(char[] seq,
                                             int start,
                                             int count,
                                             int index,
                                             int codePointOffset)
        Determines the index in a subsequence of the specified character array that is offset codePointOffset code points from index. The subsequence is delineated by start and count.
        Parameters:
        seq - the character array to find the index in.
        start - the inclusive index that marks the beginning of the subsequence.
        count - the number of char values to include within the subsequence.
        index - the start index in the subsequence of the char array.
        codePointOffset - the number of code points to look backwards or forwards; may be a negative or positive value.
        Returns:
        the index in seq that is codePointOffset code points away from index.
        Throws:
        NullPointerException - if seq is null.
        IndexOutOfBoundsException - if start < 0, count < 0, index < start, index > start + count, start + count is greater than the length of seq, or if there are not enough values in seq to skip codePointOffset code points forward or backward (if codePointOffset is negative) from index.
        Since:
        1.5
      • digit

        public static int digit​(char c,
                                int radix)
        Convenience method to determine the value of the specified character c in the supplied radix. The value of radix must be between MIN_RADIX and MAX_RADIX.
        Parameters:
        c - the character to determine the value of.
        radix - the radix.
        Returns:
        the value of c in radix if radix lies between MIN_RADIX and MAX_RADIX; -1 otherwise.
      • digit

        public static int digit​(int codePoint,
                                int radix)
        Convenience method to determine the value of the character codePoint in the supplied radix. The value of radix must be between MIN_RADIX and MAX_RADIX.
        Parameters:
        codePoint - the character, including supplementary characters.
        radix - the radix.
        Returns:
        if radix lies between MIN_RADIX and MAX_RADIX then the value of the character in the radix; -1 otherwise.
      • equals

        public boolean equals​(Object object)
        Compares this object with the specified object and indicates if they are equal. In order to be equal, object must be an instance of Character and have the same char value as this object.
        Overrides:
        equals in class Object
        Parameters:
        object - the object to compare this double with.
        Returns:
        true if the specified object is equal to this Character; false otherwise.
        See Also:
        Object.hashCode()
      • forDigit

        public static char forDigit​(int digit,
                                    int radix)
        Returns the character which represents the specified digit in the specified radix. The radix must be between MIN_RADIX and MAX_RADIX inclusive; digit must not be negative and smaller than radix. If any of these conditions does not hold, 0 is returned.
        Parameters:
        digit - the integer value.
        radix - the radix.
        Returns:
        the character which represents the digit in the radix.
      • getNumericValue

        public static int getNumericValue​(char c)
        Returns the numeric value of the specified Unicode character. See getNumericValue(int).
        Parameters:
        c - the character
        Returns:
        a non-negative numeric integer value if a numeric value for c exists, -1 if there is no numeric value for c, -2 if the numeric value can not be represented as an integer.
      • getNumericValue

        public static int getNumericValue​(int codePoint)
        Gets the numeric value of the specified Unicode code point. For example, the code point 'Ⅻ' stands for the Roman number XII, which has the numeric value 12.

        There are two points of divergence between this method and the Unicode specification. This method treats the letters a-z (in both upper and lower cases, and their full-width variants) as numbers from 10 to 35. The Unicode specification also supports the idea of code points with non-integer numeric values; this method does not (except to the extent of returning -2 for such code points).

        Parameters:
        codePoint - the code point
        Returns:
        a non-negative numeric integer value if a numeric value for codePoint exists, -1 if there is no numeric value for codePoint, -2 if the numeric value can not be represented with an integer.
      • hashCode

        public int hashCode()
        Description copied from class: Object
        Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

        Note that hash values must not change over time unless information used in equals comparisons also changes.

        See Writing a correct hashCode method if you intend implementing your own hashCode method.

        Overrides:
        hashCode in class Object
        Returns:
        this object's hash code.
        See Also:
        Object.equals(java.lang.Object)
      • highSurrogate

        public static char highSurrogate​(int codePoint)
        Returns the high surrogate for the given code point. The result is meaningless if the given code point is not a supplementary character.
        Parameters:
        codePoint - Code point.
        Returns:
        High surrogate.
        Since:
        1.7
      • lowSurrogate

        public static char lowSurrogate​(int codePoint)
        Returns the low surrogate for the given code point. The result is meaningless if the given code point is not a supplementary character.
        Parameters:
        codePoint - Code point.
        Returns:
        Low surrogate.
        Since:
        1.7
      • isBmpCodePoint

        public static boolean isBmpCodePoint​(int codePoint)
        Returns true if the given code point is in the Basic Multilingual Plane (BMP). Such code points can be represented by a single char.
        Parameters:
        codePoint - Code point.
        Returns:
        true if in plane.
        Since:
        1.7
      • isDigit

        public static boolean isDigit​(char c)
        Indicates whether the specified character is a digit.
        Parameters:
        c - the character to check.
        Returns:
        true if c is a digit; false otherwise.
      • isDigit

        public static boolean isDigit​(int codePoint)
        Indicates whether the specified code point is a digit.
        Parameters:
        codePoint - the code point to check.
        Returns:
        true if codePoint is a digit; false otherwise.
      • isISOControl

        public static boolean isISOControl​(char c)
        Indicates whether the specified character is an ISO control character.
        Parameters:
        c - the character to check.
        Returns:
        true if c is an ISO control character; false otherwise.
      • isISOControl

        public static boolean isISOControl​(int c)
        Indicates whether the specified code point is an ISO control character.
        Parameters:
        c - the code point to check.
        Returns:
        true if c is an ISO control character; false otherwise.
      • isLetter

        public static boolean isLetter​(char c)
        Indicates whether the specified character is a letter.
        Parameters:
        c - the character to check.
        Returns:
        true if c is a letter; false otherwise.
      • isLetter

        public static boolean isLetter​(int codePoint)
        Indicates whether the specified code point is a letter.
        Parameters:
        codePoint - the code point to check.
        Returns:
        true if codePoint is a letter; false otherwise.
      • isLetterOrDigit

        public static boolean isLetterOrDigit​(char c)
        Indicates whether the specified character is a letter or a digit.
        Parameters:
        c - the character to check.
        Returns:
        true if c is a letter or a digit; false otherwise.
      • isLetterOrDigit

        public static boolean isLetterOrDigit​(int codePoint)
        Indicates whether the specified code point is a letter or a digit.
        Parameters:
        codePoint - the code point to check.
        Returns:
        true if codePoint is a letter or a digit; false otherwise.
      • isLowerCase

        public static boolean isLowerCase​(char c)
        Indicates whether the specified character is a lower case letter.
        Parameters:
        c - the character to check.
        Returns:
        true if c is a lower case letter; false otherwise.
      • isLowerCase

        public static boolean isLowerCase​(int codePoint)
        Indicates whether the specified code point is a lower case letter.
        Parameters:
        codePoint - the code point to check.
        Returns:
        true if codePoint is a lower case letter; false otherwise.
      • isSpace

        public static boolean isSpace​(char c)
        Deprecated.
        Use isWhitespace(char) instead.
        Use isWhitespace(char) instead.
        Parameters:
        c - Character
        Returns:
        true if white space.
      • isSpaceChar

        public static boolean isSpaceChar​(char c)
        Parameters:
        c - Character
        Returns:
        true if space character.
      • isSpaceChar

        public static boolean isSpaceChar​(int codePoint)
        Returns true if the given code point is a Unicode space character. The exact set of characters considered as whitespace varies with Unicode version. Note that non-breaking spaces are considered whitespace. Note also that line separators are not considered whitespace; see isWhitespace(char) for an alternative.
        Parameters:
        codePoint - Code point.
        Returns:
        true if space character
      • isUpperCase

        public static boolean isUpperCase​(char c)
        Indicates whether the specified character is an upper case letter.
        Parameters:
        c - the character to check.
        Returns:
        true if c is a upper case letter; false otherwise.
      • isUpperCase

        public static boolean isUpperCase​(int codePoint)
        Indicates whether the specified code point is an upper case letter.
        Parameters:
        codePoint - the code point to check.
        Returns:
        true if codePoint is a upper case letter; false otherwise.
      • isWhitespace

        public static boolean isWhitespace​(char c)
        Parameters:
        c - Character
        Returns:
        true if white space
      • isWhitespace

        public static boolean isWhitespace​(int codePoint)
        Returns true if the given code point is a Unicode whitespace character. The exact set of characters considered as whitespace varies with Unicode version. Note that non-breaking spaces are not considered whitespace. Note also that line separators are considered whitespace; see isSpaceChar(char) for an alternative.
        Parameters:
        codePoint - Code point
        Returns:
        true if white space
      • reverseBytes

        public static char reverseBytes​(char c)
        Reverses the order of the first and second byte in the specified character.
        Parameters:
        c - the character to reverse.
        Returns:
        the character with reordered bytes.
      • toLowerCase

        public static char toLowerCase​(char c)
        Returns the lower case equivalent for the specified character if the character is an upper case letter. Otherwise, the specified character is returned unchanged.
        Parameters:
        c - the character
        Returns:
        if c is an upper case character then its lower case counterpart, otherwise just c.
      • toLowerCase

        public static int toLowerCase​(int codePoint)
        Returns the lower case equivalent for the specified code point if it is an upper case letter. Otherwise, the specified code point is returned unchanged.
        Parameters:
        codePoint - the code point to check.
        Returns:
        if codePoint is an upper case character then its lower case counterpart, otherwise just codePoint.
      • toString

        public String toString()
        Description copied from class: Object
        Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data.
        Overrides:
        toString in class Object
        Returns:
        a printable representation of this object.
      • toString

        public static String toString​(char value)
        Converts the specified character to its string representation.
        Parameters:
        value - the character to convert.
        Returns:
        the character converted to a string.
      • toUpperCase

        public static char toUpperCase​(char c)
        Returns the upper case equivalent for the specified character if the character is a lower case letter. Otherwise, the specified character is returned unchanged.
        Parameters:
        c - the character to convert.
        Returns:
        if c is a lower case character then its upper case counterpart, otherwise just c.
      • toUpperCase

        public static int toUpperCase​(int codePoint)
        Returns the upper case equivalent for the specified code point if the code point is a lower case letter. Otherwise, the specified code point is returned unchanged.
        Parameters:
        codePoint - the code point to convert.
        Returns:
        if codePoint is a lower case character then its upper case counterpart, otherwise just codePoint.