public final class

Character

extends Object
implements Serializable Comparable<T>
java.lang.Object
   ↳ java.lang.Character

Class Overview

The wrapper for the primitive type char. This class also provides a number of utility methods for working with characters.

Character data is based upon the Unicode Standard, 4.0. The Unicode specification, character tables and other information are available at http://www.unicode.org/.

Unicode characters are referred to as code points. The range of valid code points is U+0000 to U+10FFFF. The Basic Multilingual Plane (BMP) is the code point range U+0000 to U+FFFF. Characters above the BMP are referred to as Supplementary Characters. On the Java platform, UTF-16 encoding and char pairs are used to represent code points in the supplementary range. A pair of char values that represent a supplementary character are made up of a high surrogate with a value range of 0xD800 to 0xDBFF and a low surrogate with a value range of 0xDC00 to 0xDFFF.

On the Java platform a char value represents either a single BMP code point or a UTF-16 unit that's part of a surrogate pair. The int type is used to represent all Unicode code points.

Summary

Nested Classes
public final class Character.Subset Represents a subset of the Unicode character set. 
public final class Character.UnicodeBlock Represents a block of Unicode characters, as defined by the Unicode 4.0.1 specification. 
Constants
byte COMBINING_SPACING_MARK Unicode category constant Mc.
byte CONNECTOR_PUNCTUATION Unicode category constant Pc.
byte CONTROL Unicode category constant Cc.
byte CURRENCY_SYMBOL Unicode category constant Sc.
byte DASH_PUNCTUATION Unicode category constant Pd.
byte DECIMAL_DIGIT_NUMBER Unicode category constant Nd.
byte DIRECTIONALITY_ARABIC_NUMBER Unicode bidirectional constant AN.
byte DIRECTIONALITY_BOUNDARY_NEUTRAL Unicode bidirectional constant BN.
byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR Unicode bidirectional constant CS.
byte DIRECTIONALITY_EUROPEAN_NUMBER Unicode bidirectional constant EN.
byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR Unicode bidirectional constant ES.
byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR Unicode bidirectional constant ET.
byte DIRECTIONALITY_LEFT_TO_RIGHT Unicode bidirectional constant L.
byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING Unicode bidirectional constant LRE.
byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE Unicode bidirectional constant LRO.
byte DIRECTIONALITY_NONSPACING_MARK Unicode bidirectional constant NSM.
byte DIRECTIONALITY_OTHER_NEUTRALS Unicode bidirectional constant ON.
byte DIRECTIONALITY_PARAGRAPH_SEPARATOR Unicode bidirectional constant B.
byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT Unicode bidirectional constant PDF.
byte DIRECTIONALITY_RIGHT_TO_LEFT Unicode bidirectional constant R.
byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC Unicode bidirectional constant AL.
byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING Unicode bidirectional constant RLE.
byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE Unicode bidirectional constant RLO.
byte DIRECTIONALITY_SEGMENT_SEPARATOR Unicode bidirectional constant S.
byte DIRECTIONALITY_UNDEFINED Unicode bidirectional constant.
byte DIRECTIONALITY_WHITESPACE Unicode bidirectional constant WS.
byte ENCLOSING_MARK Unicode category constant Me.
byte END_PUNCTUATION Unicode category constant Pe.
byte FINAL_QUOTE_PUNCTUATION Unicode category constant Pf.
byte FORMAT Unicode category constant Cf.
byte INITIAL_QUOTE_PUNCTUATION Unicode category constant Pi.
byte LETTER_NUMBER Unicode category constant Nl.
byte LINE_SEPARATOR Unicode category constant Zl.
byte LOWERCASE_LETTER Unicode category constant Ll.
byte MATH_SYMBOL Unicode category constant Sm.
int MAX_CODE_POINT The maximum code point value, U+10FFFF.
char MAX_HIGH_SURROGATE The maximum value of a high surrogate or leading surrogate unit in UTF-16 encoding, '?'.
char MAX_LOW_SURROGATE The maximum value of a low surrogate or trailing surrogate unit in UTF-16 encoding, '?'.
int MAX_RADIX The maximum radix used for conversions between characters and integers.
char MAX_SURROGATE The maximum value of a surrogate unit in UTF-16 encoding, '?'.
char MAX_VALUE The maximum Character value.
int MIN_CODE_POINT The minimum code point value, U+0000.
char MIN_HIGH_SURROGATE The minimum value of a high surrogate or leading surrogate unit in UTF-16 encoding, '?'.
char MIN_LOW_SURROGATE The minimum value of a low surrogate or trailing surrogate unit in UTF-16 encoding, '?'.
int MIN_RADIX The minimum radix used for conversions between characters and integers.
int MIN_SUPPLEMENTARY_CODE_POINT The minimum value of a supplementary code point, U+010000.
char MIN_SURROGATE The minimum value of a surrogate unit in UTF-16 encoding, '?'.
char MIN_VALUE The minimum Character value.
byte MODIFIER_LETTER Unicode category constant Lm.
byte MODIFIER_SYMBOL Unicode category constant Sk.
byte NON_SPACING_MARK Unicode category constant Mn.
byte OTHER_LETTER Unicode category constant Lo.
byte OTHER_NUMBER Unicode category constant No.
byte OTHER_PUNCTUATION Unicode category constant Po.
byte OTHER_SYMBOL Unicode category constant So.
byte PARAGRAPH_SEPARATOR Unicode category constant Zp.
byte PRIVATE_USE Unicode category constant Co.
int SIZE The number of bits required to represent a Character value in two's compliment form.
byte SPACE_SEPARATOR Unicode category constant Zs.
byte START_PUNCTUATION Unicode category constant Ps.
byte SURROGATE Unicode category constant Cs.
byte TITLECASE_LETTER Unicode category constant Lt.
Class<Character> TYPE The Class object that represents the primitive type char.
byte UNASSIGNED Unicode category constant Cn.
byte UPPERCASE_LETTER Unicode category constant Lu.
Public Constructors
Character(char value)
Constructs a new Character with the specified primitive char value.
Public Methods
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(CharSequence seq, int index)
Returns the code point at index in the specified sequence 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(CharSequence seq, int index)
Returns the code point that preceds index in the specified sequence of character units.
static int codePointBefore(char[] seq, int index)
Returns the code point that preceds index in the specified array of character units.
static int codePointBefore(char[] seq, int index, int start)
Returns the code point that preceds the index in the specified array of character units and is not less than start.
static int codePointCount(CharSequence seq, int beginIndex, int endIndex)
Counts the number of Unicode code points in the subsequence of the specified character sequence, as delineated by beginIndex and endIndex.
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.
int compareTo(Character c)
Compares this object to the specified character object to determine their relative order.
static int digit(int codePoint, int radix)
Convenience method to determine the value of the character codePoint in the supplied radix.
static int digit(char c, int radix)
Convenience method to determine the value of the specified character c 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 byte getDirectionality(int codePoint)
Gets the Unicode directionality of the specified character.
static byte getDirectionality(char c)
Gets the Unicode directionality of the specified character.
static int getNumericValue(int codePoint)
Gets the numeric value of the specified Unicode code point.
static int getNumericValue(char c)
Gets the numeric value of the specified Unicode character.
static int getType(int codePoint)
Gets the general Unicode category of the specified code point.
static int getType(char c)
Gets the general Unicode category of the specified character.
int hashCode()
Returns an integer hash code for this object.
static boolean isDefined(char c)
Indicates whether the specified character is defined in the Unicode specification.
static boolean isDefined(int codePoint)
Indicates whether the specified code point is defined in the Unicode specification.
static boolean isDigit(int codePoint)
Indicates whether the specified code point is a digit.
static boolean isDigit(char c)
Indicates whether the specified character 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 isIdentifierIgnorable(int codePoint)
Indicates whether the specified code point is ignorable in a Java or Unicode identifier.
static boolean isIdentifierIgnorable(char c)
Indicates whether the specified character is ignorable in a Java or Unicode identifier.
static boolean isJavaIdentifierPart(int codePoint)
Indicates whether the specified code point is a valid part of a Java identifier other than the first character.
static boolean isJavaIdentifierPart(char c)
Indicates whether the specified character is a valid part of a Java identifier other than the first character.
static boolean isJavaIdentifierStart(char c)
Indicates whether the specified character is a valid first character for a Java identifier.
static boolean isJavaIdentifierStart(int codePoint)
Indicates whether the specified code point is a valid start for a Java identifier.
static boolean isJavaLetter(char c)
This method is deprecated. Use isJavaIdentifierStart(char)
static boolean isJavaLetterOrDigit(char c)
This method is deprecated. Use isJavaIdentifierPart(char)
static boolean isLetter(int codePoint)
Indicates whether the specified code point is a letter.
static boolean isLetter(char c)
Indicates whether the specified character is a letter.
static boolean isLetterOrDigit(int codePoint)
Indicates whether the specified code point is a letter or a digit.
static boolean isLetterOrDigit(char c)
Indicates whether the specified character is a letter or a digit.
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 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 isMirrored(char c)
Indicates whether the specified character is mirrored.
static boolean isMirrored(int codePoint)
Indicates whether the specified code point is mirrored.
static boolean isSpace(char c)
This method is deprecated. Use isWhitespace(char)
static boolean isSpaceChar(char c)
Indicates whether the specified character is a Unicode space character.
static boolean isSpaceChar(int codePoint)
Indicates whether the specified code point is a Unicode space character.
static boolean isSupplementaryCodePoint(int codePoint)
Indicates whether codePoint is within the supplementary code point range.
static boolean isSurrogatePair(char high, char low)
Indicates whether the specified character pair is a valid surrogate pair.
static boolean isTitleCase(int codePoint)
Indicates whether the specified code point is a titlecase character.
static boolean isTitleCase(char c)
Indicates whether the specified character is a titlecase character.
static boolean isUnicodeIdentifierPart(char c)
Indicates whether the specified character is valid as part of a Unicode identifier other than the first character.
static boolean isUnicodeIdentifierPart(int codePoint)
Indicates whether the specified code point is valid as part of a Unicode identifier other than the first character.
static boolean isUnicodeIdentifierStart(int codePoint)
Indicates whether the specified code point is a valid initial character for a Unicode identifier.
static boolean isUnicodeIdentifierStart(char c)
Indicates whether the specified character is a valid initial character for a Unicode identifier.
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(int codePoint)
Indicates whether the specified code point is a whitespace character in Java.
static boolean isWhitespace(char c)
Indicates whether the specified character is a whitespace character in Java.
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 int offsetByCodePoints(CharSequence seq, int index, int codePointOffset)
Determines the index in the specified character sequence 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 int toLowerCase(int codePoint)
Returns the lower case equivalent for the specified code point if it is an upper case letter.
static char toLowerCase(char c)
Returns the lower case equivalent for the specified character if the character is an upper case letter.
static String toString(char value)
Converts the specified character to its string representation.
String toString()
Returns a string containing a concise, human-readable description of this object.
static int toTitleCase(int codePoint)
Returns the title case equivalent for the specified code point if it exists.
static char toTitleCase(char c)
Returns the title case equivalent for the specified character if it exists.
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.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.lang.Comparable

Constants

public static final byte COMBINING_SPACING_MARK

Unicode category constant Mc.

Constant Value: 8 (0x00000008)

public static final byte CONNECTOR_PUNCTUATION

Unicode category constant Pc.

Constant Value: 23 (0x00000017)

public static final byte CONTROL

Unicode category constant Cc.

Constant Value: 15 (0x0000000f)

public static final byte CURRENCY_SYMBOL

Unicode category constant Sc.

Constant Value: 26 (0x0000001a)

public static final byte DASH_PUNCTUATION

Unicode category constant Pd.

Constant Value: 20 (0x00000014)

public static final byte DECIMAL_DIGIT_NUMBER

Unicode category constant Nd.

Constant Value: 9 (0x00000009)

public static final byte DIRECTIONALITY_ARABIC_NUMBER

Unicode bidirectional constant AN.

Constant Value: 6 (0x00000006)

public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL

Unicode bidirectional constant BN.

Constant Value: 9 (0x00000009)

public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR

Unicode bidirectional constant CS.

Constant Value: 7 (0x00000007)

public static final byte DIRECTIONALITY_EUROPEAN_NUMBER

Unicode bidirectional constant EN.

Constant Value: 3 (0x00000003)

public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR

Unicode bidirectional constant ES.

Constant Value: 4 (0x00000004)

public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR

Unicode bidirectional constant ET.

Constant Value: 5 (0x00000005)

public static final byte DIRECTIONALITY_LEFT_TO_RIGHT

Unicode bidirectional constant L.

Constant Value: 0 (0x00000000)

public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING

Unicode bidirectional constant LRE.

Constant Value: 14 (0x0000000e)

public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE

Unicode bidirectional constant LRO.

Constant Value: 15 (0x0000000f)

public static final byte DIRECTIONALITY_NONSPACING_MARK

Unicode bidirectional constant NSM.

Constant Value: 8 (0x00000008)

public static final byte DIRECTIONALITY_OTHER_NEUTRALS

Unicode bidirectional constant ON.

Constant Value: 13 (0x0000000d)

public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR

Unicode bidirectional constant B.

Constant Value: 10 (0x0000000a)

public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT

Unicode bidirectional constant PDF.

Constant Value: 18 (0x00000012)

public static final byte DIRECTIONALITY_RIGHT_TO_LEFT

Unicode bidirectional constant R.

Constant Value: 1 (0x00000001)

public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC

Unicode bidirectional constant AL.

Constant Value: 2 (0x00000002)

public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING

Unicode bidirectional constant RLE.

Constant Value: 16 (0x00000010)

public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE

Unicode bidirectional constant RLO.

Constant Value: 17 (0x00000011)

public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR

Unicode bidirectional constant S.

Constant Value: 11 (0x0000000b)

public static final byte DIRECTIONALITY_UNDEFINED

Unicode bidirectional constant.

Constant Value: -1 (0xffffffff)

public static final byte DIRECTIONALITY_WHITESPACE

Unicode bidirectional constant WS.

Constant Value: 12 (0x0000000c)

public static final byte ENCLOSING_MARK

Unicode category constant Me.

Constant Value: 7 (0x00000007)

public static final byte END_PUNCTUATION

Unicode category constant Pe.

Constant Value: 22 (0x00000016)

public static final byte FINAL_QUOTE_PUNCTUATION

Unicode category constant Pf.

Constant Value: 30 (0x0000001e)

public static final byte FORMAT

Unicode category constant Cf.

Constant Value: 16 (0x00000010)

public static final byte INITIAL_QUOTE_PUNCTUATION

Unicode category constant Pi.

Constant Value: 29 (0x0000001d)

public static final byte LETTER_NUMBER

Unicode category constant Nl.

Constant Value: 10 (0x0000000a)

public static final byte LINE_SEPARATOR

Unicode category constant Zl.

Constant Value: 13 (0x0000000d)

public static final byte LOWERCASE_LETTER

Unicode category constant Ll.

Constant Value: 2 (0x00000002)

public static final byte MATH_SYMBOL

Unicode category constant Sm.

Constant Value: 25 (0x00000019)

public static final int MAX_CODE_POINT

The maximum code point value, U+10FFFF.

Constant Value: 1114111 (0x0010ffff)

public static final char MAX_HIGH_SURROGATE

The maximum value of a high surrogate or leading surrogate unit in UTF-16 encoding, '?'.

Constant Value: 56319 (0x0000dbff)

public static final char MAX_LOW_SURROGATE

The maximum value of a low surrogate or trailing surrogate unit in UTF-16 encoding, '?'.

Constant Value: 57343 (0x0000dfff)

public static final int MAX_RADIX

The maximum radix used for conversions between characters and integers.

Constant Value: 36 (0x00000024)

public static final char MAX_SURROGATE

The maximum value of a surrogate unit in UTF-16 encoding, '?'.

Constant Value: 57343 (0x0000dfff)

public static final char MAX_VALUE

The maximum Character value.

Constant Value: 65535 (0x0000ffff)

public static final int MIN_CODE_POINT

The minimum code point value, U+0000.

Constant Value: 0 (0x00000000)

public static final char MIN_HIGH_SURROGATE

The minimum value of a high surrogate or leading surrogate unit in UTF-16 encoding, '?'.

Constant Value: 55296 (0x0000d800)

public static final char MIN_LOW_SURROGATE

The minimum value of a low surrogate or trailing surrogate unit in UTF-16 encoding, '?'.

Constant Value: 56320 (0x0000dc00)

public static final int MIN_RADIX

The minimum radix used for conversions between characters and integers.

Constant Value: 2 (0x00000002)

public static final int MIN_SUPPLEMENTARY_CODE_POINT

The minimum value of a supplementary code point, U+010000.

Constant Value: 65536 (0x00010000)

public static final char MIN_SURROGATE

The minimum value of a surrogate unit in UTF-16 encoding, '?'.

Constant Value: 55296 (0x0000d800)

public static final char MIN_VALUE

The minimum Character value.

Constant Value: 0 (0x00000000)

public static final byte MODIFIER_LETTER

Unicode category constant Lm.

Constant Value: 4 (0x00000004)

public static final byte MODIFIER_SYMBOL

Unicode category constant Sk.

Constant Value: 27 (0x0000001b)

public static final byte NON_SPACING_MARK

Unicode category constant Mn.

Constant Value: 6 (0x00000006)

public static final byte OTHER_LETTER

Unicode category constant Lo.

Constant Value: 5 (0x00000005)

public static final byte OTHER_NUMBER

Unicode category constant No.

Constant Value: 11 (0x0000000b)

public static final byte OTHER_PUNCTUATION

Unicode category constant Po.

Constant Value: 24 (0x00000018)

public static final byte OTHER_SYMBOL

Unicode category constant So.

Constant Value: 28 (0x0000001c)

public static final byte PARAGRAPH_SEPARATOR

Unicode category constant Zp.

Constant Value: 14 (0x0000000e)

public static final byte PRIVATE_USE

Unicode category constant Co.

Constant Value: 18 (0x00000012)

public static final int SIZE

The number of bits required to represent a Character value in two's compliment form.

Constant Value: 16 (0x00000010)

public static final byte SPACE_SEPARATOR

Unicode category constant Zs.

Constant Value: 12 (0x0000000c)

public static final byte START_PUNCTUATION

Unicode category constant Ps.

Constant Value: 21 (0x00000015)

public static final byte SURROGATE

Unicode category constant Cs.

Constant Value: 19 (0x00000013)

public static final byte TITLECASE_LETTER

Unicode category constant Lt.

Constant Value: 3 (0x00000003)

public static final Class<Character> TYPE

The Class object that represents the primitive type char.

public static final byte UNASSIGNED

Unicode category constant Cn.

Constant Value: 0 (0x00000000)

public static final byte UPPERCASE_LETTER

Unicode category constant Lu.

Constant Value: 1 (0x00000001)

Public Constructors

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.

Public Methods

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.

public char charValue ()

Gets the primitive value of this character.

Returns
  • this object's primitive value.

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
IndexOutOfBoundsException if the index is negative or greater than or equal to the length of seq.

public static int codePointAt (CharSequence seq, int index)

Returns the code point at index in the specified sequence of character units. If the unit at index is a high-surrogate unit, index + 1 is less than the length of the sequence 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 sequence 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
IndexOutOfBoundsException if the index is negative or greater than or equal to the length of seq.

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
IndexOutOfBoundsException if index < 0, index >= limit, limit < 0 or if limit is greater than the length of seq.

public static int codePointBefore (CharSequence seq, int index)

Returns the code point that preceds index in the specified sequence 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 sequence 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
IndexOutOfBoundsException if the index is less than 1 or greater than the length of seq.

public static int codePointBefore (char[] seq, int index)

Returns the code point that preceds 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
IndexOutOfBoundsException if the index is less than 1 or greater than the length of seq.

public static int codePointBefore (char[] seq, int index, int start)

Returns the code point that preceds 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
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.

public static int codePointCount (CharSequence seq, int beginIndex, int endIndex)

Counts the number of Unicode code points in the subsequence of the specified character sequence, as delineated by beginIndex and endIndex. Any surrogate values with missing pair values will be counted as one code point.

Parameters
seq the CharSequence to look through.
beginIndex the inclusive index to begin counting at.
endIndex the exclusive index to stop counting at.
Returns
  • the number of Unicode code points.
Throws
IndexOutOfBoundsException if beginIndex < 0, beginIndex > endIndex or if endIndex is greater than the length of seq.

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
IndexOutOfBoundsException if offset < 0, count < 0 or if offset + count is greater than the length of seq.

public int compareTo (Character c)

Compares this object to the specified character object to determine their relative order.

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.
See Also

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.

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

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.

Parameters
object the object to compare this double with.
Returns
  • true if the specified object is equal to this Character; false otherwise.

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.

public static byte getDirectionality (int codePoint)

Gets the Unicode directionality of the specified character.

Parameters
codePoint the Unicode code point to get the directionality of.
Returns
  • the Unicode directionality of codePoint.

public static byte getDirectionality (char c)

Gets the Unicode directionality of the specified character.

Parameters
c the character to get the directionality of.
Returns
  • the Unicode directionality of c.

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.

Parameters
codePoint the Unicode code point to get the numeric value of.
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.

public static int getNumericValue (char c)

Gets the numeric value of the specified Unicode character.

Parameters
c the Unicode character to get the numeric value of.
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 with an integer.

public static int getType (int codePoint)

Gets the general Unicode category of the specified code point.

Parameters
codePoint the Unicode code point to get the category of.
Returns
  • the Unicode category of codePoint.

public static int getType (char c)

Gets the general Unicode category of the specified character.

Parameters
c the character to get the category of.
Returns
  • the Unicode category of c.

public int hashCode ()

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Returns
  • this object's hash code.

public static boolean isDefined (char c)

Indicates whether the specified character is defined in the Unicode specification.

Parameters
c the character to check.
Returns
  • true if the general Unicode category of the character is not UNASSIGNED; false otherwise.

public static boolean isDefined (int codePoint)

Indicates whether the specified code point is defined in the Unicode specification.

Parameters
codePoint the code point to check.
Returns
  • true if the general Unicode category of the code point is not UNASSIGNED; false otherwise.

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.

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.

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.

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.

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.

public static boolean isIdentifierIgnorable (int codePoint)

Indicates whether the specified code point is ignorable in a Java or Unicode identifier.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is ignorable; false otherwise.

public static boolean isIdentifierIgnorable (char c)

Indicates whether the specified character is ignorable in a Java or Unicode identifier.

Parameters
c the character to check.
Returns
  • true if c is ignorable; false otherwise.

public static boolean isJavaIdentifierPart (int codePoint)

Indicates whether the specified code point is a valid part of a Java identifier other than the first character.

Parameters
codePoint the code point to check.
Returns
  • true if c is valid as part of a Java identifier; false otherwise.

public static boolean isJavaIdentifierPart (char c)

Indicates whether the specified character is a valid part of a Java identifier other than the first character.

Parameters
c the character to check.
Returns
  • true if c is valid as part of a Java identifier; false otherwise.

public static boolean isJavaIdentifierStart (char c)

Indicates whether the specified character is a valid first character for a Java identifier.

Parameters
c the character to check.
Returns
  • true if c is a valid first character of a Java identifier; false otherwise.

public static boolean isJavaIdentifierStart (int codePoint)

Indicates whether the specified code point is a valid start for a Java identifier.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is a valid start of a Java identifier; false otherwise.

public static boolean isJavaLetter (char c)

This method is deprecated.Use isJavaIdentifierStart(char)

Indicates whether the specified character is a Java letter.

Parameters
c the character to check.
Returns
  • true if c is a Java letter; false otherwise.

public static boolean isJavaLetterOrDigit (char c)

This method is deprecated.Use isJavaIdentifierPart(char)

Indicates whether the specified character is a Java letter or digit character.

Parameters
c the character to check.
Returns
  • true if c is a Java letter or digit; false otherwise.

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.

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.

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.

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.

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.

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.

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.

public static boolean isMirrored (char c)

Indicates whether the specified character is mirrored.

Parameters
c the character to check.
Returns
  • true if c is mirrored; false otherwise.

public static boolean isMirrored (int codePoint)

Indicates whether the specified code point is mirrored.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is mirrored, false otherwise.

public static boolean isSpace (char c)

This method is deprecated.Use isWhitespace(char)

Indicates whether the specified character is a Java space.

Parameters
c the character to check.
Returns
  • true if c is a Java space; false otherwise.

public static boolean isSpaceChar (char c)

Indicates whether the specified character is a Unicode space character. That is, if it is a member of one of the Unicode categories Space Separator, Line Separator, or Paragraph Separator.

Parameters
c the character to check.
Returns
  • true if c is a Unicode space character, false otherwise.

public static boolean isSpaceChar (int codePoint)

Indicates whether the specified code point is a Unicode space character. That is, if it is a member of one of the Unicode categories Space Separator, Line Separator, or Paragraph Separator.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is a Unicode space character, false otherwise.

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.

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.

public static boolean isTitleCase (int codePoint)

Indicates whether the specified code point is a titlecase character.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is a titlecase character, false otherwise.

public static boolean isTitleCase (char c)

Indicates whether the specified character is a titlecase character.

Parameters
c the character to check.
Returns
  • true if c is a titlecase character, false otherwise.

public static boolean isUnicodeIdentifierPart (char c)

Indicates whether the specified character is valid as part of a Unicode identifier other than the first character.

Parameters
c the character to check.
Returns
  • true if c is valid as part of a Unicode identifier; false otherwise.

public static boolean isUnicodeIdentifierPart (int codePoint)

Indicates whether the specified code point is valid as part of a Unicode identifier other than the first character.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is valid as part of a Unicode identifier; false otherwise.

public static boolean isUnicodeIdentifierStart (int codePoint)

Indicates whether the specified code point is a valid initial character for a Unicode identifier.

Parameters
codePoint the code point to check.
Returns
  • true if codePoint is a valid first character for a Unicode identifier; false otherwise.

public static boolean isUnicodeIdentifierStart (char c)

Indicates whether the specified character is a valid initial character for a Unicode identifier.

Parameters
c the character to check.
Returns
  • true if c is a valid first character for a Unicode identifier; false otherwise.

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.

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.

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.

public static boolean isWhitespace (int codePoint)

Indicates whether the specified code point is a whitespace character in Java.

Parameters
codePoint the code point to check.
Returns
  • true if the supplied c is a whitespace character in Java; false otherwise.

public static boolean isWhitespace (char c)

Indicates whether the specified character is a whitespace character in Java.

Parameters
c the character to check.
Returns
  • true if the supplied c is a whitespace character in Java; false otherwise.

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
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.

public static int offsetByCodePoints (CharSequence seq, int index, int codePointOffset)

Determines the index in the specified character sequence that is offset codePointOffset code points from index.

Parameters
seq the character sequence to find the index in.
index the start index in seq.
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
IndexOutOfBoundsException if index < 0, index is greater than the length of seq, or if there are not enough values in seq to skip codePointOffset code points forwards or backwards (if codePointOffset is negative) from index.

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.

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 Unicode code point.

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 Unicode code point.
IndexOutOfBoundsException if dstIndex is negative, greater than or equal to dst.length or equals dst.length - 1 when codePoint is a supplementary code point.

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.

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.

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.

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.

public String toString ()

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. The default implementation simply concatenates the class name, the '@' sign and a hexadecimal representation of the object's hashCode(), that is, it is equivalent to the following expression:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
  • a printable representation of this object.

public static int toTitleCase (int codePoint)

Returns the title case equivalent for the specified code point if it exists. Otherwise, the specified code point is returned unchanged.

Parameters
codePoint the code point to convert.
Returns
  • the title case equivalent of codePoint if it exists, otherwise codePoint.

public static char toTitleCase (char c)

Returns the title case equivalent for the specified character if it exists. Otherwise, the specified character is returned unchanged.

Parameters
c the character to convert.
Returns
  • the title case equivalent of c if it exists, otherwise c.

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.

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.

public static Character valueOf (char c)

Returns a Character instance for the char value passed. For ASCII/Latin-1 characters (and generally all characters with a Unicode value up to 512), this method should be used instead of the constructor, as it maintains a cache of corresponding Character instances.

Parameters
c the char value for which to get a Character instance.
Returns
  • the Character instance for c.