Character class wraps a value of the primitive
type char in an object. An object of type
Character contains a single field whose type is
char.
In addition, this class provides several methods for determining a character's category (lowercase letter, digit, etc.) and for converting characters from uppercase to lowercase and vice versa.
Character information is based on the Unicode Standard, version 4.0.
The methods and data of class Character are defined by
the information in the UnicodeData file that is part of the
Unicode Character Database maintained by the Unicode
Consortium. This file specifies various properties including name
and general category for every defined Unicode code point or
character range.
The file and its description are available from the Unicode Consortium at:
The char data type (and therefore the value that a
Character object encapsulates) are based on the
original Unicode specification, which defined characters as
fixed-width 16-bit entities. The Unicode standard has since been
changed to allow for characters whose representation requires more
than 16 bits. The range of legal code points is now
U+0000 to U+10FFFF, known as Unicode scalar value.
(Refer to the
definition of the U+n notation in the Unicode
standard.)
The set of characters from U+0000 to U+FFFF is sometimes
referred to as the Basic Multilingual Plane (BMP). Characters whose code points are greater
than U+FFFF are called supplementary characters. The Java
2 platform uses the UTF-16 representation in char
arrays and in the String and StringBuffer
classes. In this representation, supplementary characters are
represented as a pair of char values, the first from
the high-surrogates range, (\uD800-\uDBFF), the
second from the low-surrogates range
(\uDC00-\uDFFF).
A char value, therefore, represents Basic
Multilingual Plane (BMP) code points, including the surrogate
code points, or code units of the UTF-16 encoding. An
int value represents all Unicode code points,
including supplementary code points. The lower (least significant)
21 bits of int are used to represent Unicode code
points and the upper (most significant) 11 bits must be zero.
Unless otherwise specified, the behavior with respect to
supplementary characters and surrogate char values is
as follows:
char value cannot support
supplementary characters. They treat char values from the
surrogate ranges as undefined characters. For example,
Character.isLetter('\uD840') returns false, even though
this specific value if followed by any low-surrogate value in a string
would represent a letter.
int value support all
Unicode characters, including supplementary characters. For
example, Character.isLetter(0x2F81A) returns
true because the code point value represents a letter
(a CJK ideograph).
In the Java SE API documentation, Unicode code point is
used for character values in the range between U+0000 and U+10FFFF,
and Unicode code unit is used for 16-bit
char values that are code units of the UTF-16
encoding. For more information on Unicode terminology, refer to the
Unicode Glossary.
String
| Field Summary | |
|---|---|
| static final byte |
General category "Mc" in the Unicode specification. |
| static final byte |
General category "Pc" in the Unicode specification. |
| static final byte |
General category "Cc" in the Unicode specification. |
| static final byte |
General category "Sc" in the Unicode specification. |
| static final byte |
General category "Pd" in the Unicode specification. |
| static final byte |
General category "Nd" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "AN" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "BN" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "CS" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "EN" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "ES" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "ET" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "L" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "LRE" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "LRO" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "NSM" in the Unicode specification. |
| static final byte |
Neutral bidirectional character type "ON" in the Unicode specification. |
| static final byte |
Neutral bidirectional character type "B" in the Unicode specification. |
| static final byte |
Weak bidirectional character type "PDF" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "R" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "AL" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "RLE" in the Unicode specification. |
| static final byte |
Strong bidirectional character type "RLO" in the Unicode specification. |
| static final byte |
Neutral bidirectional character type "S" in the Unicode specification. |
| static final byte |
Undefined bidirectional character type. |
| static final byte |
Neutral bidirectional character type "WS" in the Unicode specification. |
| static final byte |
General category "Me" in the Unicode specification. |
| static final byte |
General category "Pe" in the Unicode specification. |
| static final byte |
General category "Pf" in the Unicode specification. |
| static final byte |
General category "Cf" in the Unicode specification. |
| static final byte |
General category "Pi" in the Unicode specification. |
| static final byte |
General category "Nl" in the Unicode specification. |
| static final byte |
General category "Zl" in the Unicode specification. |
| static final byte |
General category "Ll" in the Unicode specification. |
| static final byte |
General category "Sm" in the Unicode specification. |
| static final int |
The maximum value of a Unicode code point. |
| static final char |
The maximum value of a Unicode high-surrogate code unit in the UTF-16 encoding. |
| static final char |
The maximum value of a Unicode low-surrogate code unit in the UTF-16 encoding. |
| static final int |
The maximum radix available for conversion to and from strings. |
| static final char |
The maximum value of a Unicode surrogate code unit in the UTF-16 encoding. |
| static final char |
The constant value of this field is the largest value of type char, '\uFFFF'.
|
| static final int |
The minimum value of a Unicode code point. |
| static final char |
The minimum value of a Unicode high-surrogate code unit in the UTF-16 encoding. |
| static final char |
The minimum value of a Unicode low-surrogate code unit in the UTF-16 encoding. |
| static final int |
The minimum radix available for conversion to and from strings. |
| static final int |
The minimum value of a supplementary code point. |
| static final char |
The minimum value of a Unicode surrogate code unit in the UTF-16 encoding. |
| static final char |
The constant value of this field is the smallest value of type char, '\u0000'.
|
| static final byte |
General category "Lm" in the Unicode specification. |
| static final byte |
General category "Sk" in the Unicode specification. |
| static final byte |
General category "Mn" in the Unicode specification. |
| static final byte |
General category "Lo" in the Unicode specification. |
| static final byte |
General category "No" in the Unicode specification. |
| static final byte |
General category "Po" in the Unicode specification. |
| static final byte |
General category "So" in the Unicode specification. |
| static final byte |
General category "Zp" in the Unicode specification. |
| static final byte |
General category "Co" in the Unicode specification. |
| static final int |
The number of bits used to represent a char value in unsigned binary form. |
| static final byte |
General category "Zs" in the Unicode specification. |
| static final byte |
General category "Ps" in the Unicode specification. |
| static final byte |
General category "Cs" in the Unicode specification. |
| static final byte |
General category "Lt" in the Unicode specification. |
| static final Class<Character> |
The Class instance representing the primitive type
char.
|
| static final byte |
General category "Cn" in the Unicode specification. |
| static final byte |
General category "Lu" in the Unicode specification. |
| Constructor Summary |
|---|
|
Constructs a newly allocated Character object that
represents the specified char value.
|
| Method Summary | |
|---|---|
| static int |
Determines the number of char values needed to
represent the specified character (Unicode code point).
|
| char |
Returns the value of this Character object.
|
| static int |
Returns the code point at the given index of the CharSequence.
|
| static int |
Returns the code point at the given index of the char array.
|
| static int |
Returns the code point at the given index of the char array, where only array elements with
index less than limit can be used.
|
| static int |
Returns the code point preceding the given index of the CharSequence.
|
| static int |
Returns the code point preceding the given index of the char array.
|
| static int |
Returns the code point preceding the given index of the char array, where only array elements with
index greater than or equal to start
can be used.
|
| static int |
Returns the number of Unicode code points in the text range of the specified char sequence. |
| static int |
Returns the number of Unicode code points in a subarray of the char array argument.
|
| int |
Compares two Character objects numerically.
|
| static int |
Returns the numeric value of the character ch in the
specified radix.
|
| static int |
Returns the numeric value of the specified character (Unicode code point) in the specified radix. |
| boolean |
Compares this object against the specified object. |
| static char |
Determines the character representation for a specific digit in the specified radix. |
| static byte |
Returns the Unicode directionality property for the given character. |
| static byte |
Returns the Unicode directionality property for the given character (Unicode code point). |
| static int |
Returns the int value that the specified Unicode
character represents.
|
| static int |
Returns the int value that the specified
character (Unicode code point) represents.
|
| static int |
Returns a value indicating a character's general category. |
| static int |
Returns a value indicating a character's general category. |
| int |
Returns a hash code for this Character.
|
| static boolean |
Determines if a character is defined in Unicode. |
| static boolean |
Determines if a character (Unicode code point) is defined in Unicode. |
| static boolean |
Determines if the specified character is a digit. |
| static boolean |
Determines if the specified character (Unicode code point) is a digit. |
| static boolean |
Determines if the given char value is a
high-surrogate code unit (also known as leading-surrogate
code unit).
|
| static boolean |
Determines if the specified character should be regarded as an ignorable character in a Java identifier or a Unicode identifier. |
| static boolean |
Determines if the specified character (Unicode code point) should be regarded as an ignorable character in a Java identifier or a Unicode identifier. |
| static boolean |
Determines if the specified character is an ISO control character. |
| static boolean |
Determines if the referenced character (Unicode code point) is an ISO control character. |
| static boolean |
Determines if the specified character may be part of a Java identifier as other than the first character. |
| static boolean |
Determines if the character (Unicode code point) may be part of a Java identifier as other than the first character. |
| static boolean |
Determines if the specified character is permissible as the first character in a Java identifier. |
| static boolean |
Determines if the character (Unicode code point) is permissible as the first character in a Java identifier. |
| static boolean |
Determines if the specified character is permissible as the first character in a Java identifier. |
| static boolean |
Determines if the specified character may be part of a Java identifier as other than the first character. |
| static boolean |
Determines if the specified character is a letter. |
| static boolean |
Determines if the specified character (Unicode code point) is a letter. |
| static boolean |
Determines if the specified character is a letter or digit. |
| static boolean |
Determines if the specified character (Unicode code point) is a letter or digit. |
| static boolean |
Determines if the specified character is a lowercase character. |
| static boolean |
Determines if the specified character (Unicode code point) is a lowercase character. |
| static boolean |
Determines if the given char value is a
low-surrogate code unit (also known as trailing-surrogate code
unit).
|
| static boolean |
Determines whether the character is mirrored according to the Unicode specification. |
| static boolean |
Determines whether the specified character (Unicode code point) is mirrored according to the Unicode specification. |
| static boolean |
Determines if the specified character is ISO-LATIN-1 white space. |
| static boolean |
Determines if the specified character is a Unicode space character. |
| static boolean |
Determines if the specified character (Unicode code point) is a Unicode space character. |
| static boolean |
Determines whether the specified character (Unicode code point) is in the supplementary character range. |
| static boolean |
Determines whether the specified pair of char
values is a valid surrogate pair.
|
| static boolean |
Determines if the specified character is a titlecase character. |
| static boolean |
Determines if the specified character (Unicode code point) is a titlecase character. |
| static boolean |
Determines if the specified character may be part of a Unicode identifier as other than the first character. |
| static boolean |
Determines if the specified character (Unicode code point) may be part of a Unicode identifier as other than the first character. |
| static boolean |
Determines if the specified character is permissible as the first character in a Unicode identifier. |
| static boolean |
Determines if the specified character (Unicode code point) is permissible as the first character in a Unicode identifier. |
| static boolean |
Determines if the specified character is an uppercase character. |
| static boolean |
Determines if the specified character (Unicode code point) is an uppercase character. |
| static boolean |
Determines whether the specified code point is a valid Unicode code point value in the range of 0x0000 to
0x10FFFF inclusive.
|
| static boolean |
Determines if the specified character is white space according to Java. |
| static boolean |
Determines if the specified character (Unicode code point) is white space according to Java. |
| static int |
Returns the index within the given char sequence that is offset from the given index by codePointOffset
code points.
|
| static int |
Returns the index within the given char subarray
that is offset from the given index by
codePointOffset code points.
|
| static char |
Returns the value obtained by reversing the order of the bytes in the specified char value. |
| static int |
Converts the specified character (Unicode code point) to its UTF-16 representation. |
| static char[] |
Converts the specified character (Unicode code point) to its UTF-16 representation stored in a char array.
|
| static int |
Converts the specified surrogate pair to its supplementary code point value. |
| static char |
Converts the character argument to lowercase using case mapping information from the UnicodeData file. |
| static int |
Converts the character (Unicode code point) argument to lowercase using case mapping information from the UnicodeData file. |
| String |
Returns a String object representing this
Character's value.
|
| static String |
Returns a String object representing the
specified char.
|
| static char |
Converts the character argument to titlecase using case mapping information from the UnicodeData file. |
| static int |
Converts the character (Unicode code point) argument to titlecase using case mapping information from the UnicodeData file. |
| static char |
Converts the character argument to uppercase using case mapping information from the UnicodeData file. |
| static int |
Converts the character (Unicode code point) argument to uppercase using case mapping information from the UnicodeData file. |
| static Character |
Returns a Character instance representing the specified char value. |
| Methods inherited from java.langObject |
|---|
public static final
byte
COMBINING_SPACING_MARK
public static final
byte
CONNECTOR_PUNCTUATION
public static final
byte
CONTROL
public static final
byte
CURRENCY_SYMBOL
public static final
byte
DASH_PUNCTUATION
public static final
byte
DECIMAL_DIGIT_NUMBER
public static final
byte
DIRECTIONALITY_ARABIC_NUMBER
public static final
byte
DIRECTIONALITY_BOUNDARY_NEUTRAL
public static final
byte
DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
public static final
byte
DIRECTIONALITY_EUROPEAN_NUMBER
public static final
byte
DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
public static final
byte
DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
public static final
byte
DIRECTIONALITY_LEFT_TO_RIGHT
public static final
byte
DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
public static final
byte
DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
public static final
byte
DIRECTIONALITY_NONSPACING_MARK
public static final
byte
DIRECTIONALITY_OTHER_NEUTRALS
public static final
byte
DIRECTIONALITY_PARAGRAPH_SEPARATOR
public static final
byte
DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
public static final
byte
DIRECTIONALITY_RIGHT_TO_LEFT
public static final
byte
DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
public static final
byte
DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
public static final
byte
DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
public static final
byte
DIRECTIONALITY_SEGMENT_SEPARATOR
public static final
byte
DIRECTIONALITY_UNDEFINED
char
values have undefined directionality in the Unicode specification.
public static final
byte
DIRECTIONALITY_WHITESPACE
public static final
byte
ENCLOSING_MARK
public static final
byte
END_PUNCTUATION
public static final
byte
FINAL_QUOTE_PUNCTUATION
public static final
byte
FORMAT
public static final
byte
INITIAL_QUOTE_PUNCTUATION
public static final
byte
LETTER_NUMBER
public static final
byte
LINE_SEPARATOR
public static final
byte
LOWERCASE_LETTER
public static final
byte
MATH_SYMBOL
public static final
int
MAX_CODE_POINT
public static final
char
MAX_HIGH_SURROGATE
public static final
char
MAX_LOW_SURROGATE
public static final
int
MAX_RADIX
digit method, the forDigit
method, and the toString method of class
Integer.
public static final
char
MAX_SURROGATE
public static final
char
MAX_VALUE
char, '\uFFFF'.
public static final
int
MIN_CODE_POINT
public static final
char
MIN_HIGH_SURROGATE
public static final
char
MIN_LOW_SURROGATE
public static final
int
MIN_RADIX
digit method, the forDigit
method, and the toString method of class
Integer.
public static final
int
MIN_SUPPLEMENTARY_CODE_POINT
public static final
char
MIN_SURROGATE
gautam
public static final
char
MIN_VALUE
char, '\u0000'.
public static final
byte
MODIFIER_LETTER
public static final
byte
MODIFIER_SYMBOL
public static final
byte
NON_SPACING_MARK
public static final
byte
OTHER_LETTER
public static final
byte
OTHER_NUMBER
public static final
byte
OTHER_PUNCTUATION
public static final
byte
OTHER_SYMBOL
public static final
byte
PARAGRAPH_SEPARATOR
public static final
byte
PRIVATE_USE
public static final
int
SIZE
public static final
byte
SPACE_SEPARATOR
public static final
byte
START_PUNCTUATION
public static final
byte
SURROGATE
public static final
byte
TITLECASE_LETTER
Class instance representing the primitive type
char.
public static final
byte
UNASSIGNED
public static final
byte
UPPERCASE_LETTER
public Character
(
char
value
)
Character object that
represents the specified char value.
public static
int
charCount
(
int
codePoint
)
char values needed to
represent the specified character (Unicode code point). If the
specified character is equal to or greater than 0x10000, then
the method returns 2. Otherwise, the method returns 1.
This method doesn't validate the specified character to be a valid Unicode code point. The caller must validate the character value using isValidCodePoint if necessary.
public
char
charValue
(
)
Character object. CharSequence. If the char value at
the given index in the CharSequence is in the
high-surrogate range, the following index is less than the
length of the CharSequence, and the
char value at the following index is in the
low-surrogate range, then the supplementary code point
corresponding to this surrogate pair is returned. Otherwise,
the char value at the given index is returned.
public static
int
codePointAt
(
char
[]
a,
int
index
)
char array. If the char value at
the given index in the char array is in the
high-surrogate range, the following index is less than the
length of the char array, and the
char value at the following index is in the
low-surrogate range, then the supplementary code point
corresponding to this surrogate pair is returned. Otherwise,
the char value at the given index is returned.
public static
int
codePointAt
(
char
[]
a,
int
index,
int
limit
)
char array, where only array elements with
index less than limit can be used. If
the char value at the given index in the
char array is in the high-surrogate range, the
following index is less than the limit, and the
char value at the following index is in the
low-surrogate range, then the supplementary code point
corresponding to this surrogate pair is returned. Otherwise,
the char value at the given index is returned. CharSequence. If the char value at
(index - 1) in the CharSequence is in
the low-surrogate range, (index - 2) is not
negative, and the char value at (index -
2) in the CharSequence is in the
high-surrogate range, then the supplementary code point
corresponding to this surrogate pair is returned. Otherwise,
the char value at (index - 1) is
returned.
public static
int
codePointBefore
(
char
[]
a,
int
index
)
char array. If the char value at
(index - 1) in the char array is in
the low-surrogate range, (index - 2) is not
negative, and the char value at (index -
2) in the char array is in the
high-surrogate range, then the supplementary code point
corresponding to this surrogate pair is returned. Otherwise,
the char value at (index - 1) is
returned.
public static
int
codePointBefore
(
char
[]
a,
int
index,
int
start
)
char array, where only array elements with
index greater than or equal to start
can be used. If the char value at (index -
1) in the char array is in the
low-surrogate range, (index - 2) is not less than
start, and the char value at
(index - 2) in the char array is in
the high-surrogate range, then the supplementary code point
corresponding to this surrogate pair is returned. Otherwise,
the char value at (index - 1) is
returned. beginIndex and extends to the
char at index endIndex - 1. Thus the
length (in chars) of the text range is
endIndex-beginIndex. Unpaired surrogates within
the text range count as one code point each.
public static
int
codePointCount
(
char
[]
a,
int
offset,
int
count
)
char array argument. The offset
argument is the index of the first char of the
subarray and the count argument specifies the
length of the subarray in chars. Unpaired
surrogates within the subarray count as one code point each. Character objects numerically.
public static
int
digit
(
char
ch,
int
radix
)
ch in the
specified radix.
If the radix is not in the range MIN_RADIX <=
radix <= MAX_RADIX or if the
value of ch is not a valid digit in the specified
radix, -1 is returned. A character is a valid digit
if at least one of the following is true:
isDigit is true of the character
and the Unicode decimal digit value of the character (or its
single-character decomposition) is less than the specified radix.
In this case the decimal digit value is returned.
'A' through 'Z' and its code is less than
radix + 'A' - 10.
In this case, ch - 'A' + 10
is returned.
'a' through 'z' and its code is less than
radix + 'a' - 10.
In this case, ch - 'a' + 10
is returned.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the digit(int, int) method.
public static
int
digit
(
int
codePoint,
int
radix
)
If the radix is not in the range MIN_RADIX <=
radix <= MAX_RADIX or if the
character is not a valid digit in the specified
radix, -1 is returned. A character is a valid digit
if at least one of the following is true:
true of the character
and the Unicode decimal digit value of the character (or its
single-character decomposition) is less than the specified radix.
In this case the decimal digit value is returned.
'A' through 'Z' and its code is less than
radix + 'A' - 10.
In this case, ch - 'A' + 10
is returned.
'a' through 'z' and its code is less than
radix + 'a' - 10.
In this case, ch - 'a' + 10
is returned.
true if and only if the argument is not
null and is a Character object that
represents the same char value as this object.
public static
char
forDigit
(
int
digit,
int
radix
)
radix is not a
valid radix, or the value of digit is not a valid
digit in the specified radix, the null character
('\u0000') is returned.
The radix argument is valid if it is greater than or
equal to MIN_RADIX and less than or equal to
MAX_RADIX. The digit argument is valid if
0 <=digit < radix.
If the digit is less than 10, then
'0' + digit is returned. Otherwise, the value
'a' + digit - 10 is returned.
public static
byte
getDirectionality
(
char
ch
)
char values is DIRECTIONALITY_UNDEFINED.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the getDirectionality(int) method.
public static
byte
getDirectionality
(
int
codePoint
)
public static
int
getNumericValue
(
char
ch
)
int value that the specified Unicode
character represents. For example, the character
'\u216C' (the roman numeral fifty) will return
an int with a value of 50.
The letters A-Z in their uppercase ('\u0041' through
'\u005A'), lowercase
('\u0061' through '\u007A'), and
full width variant ('\uFF21' through
'\uFF3A' and '\uFF41' through
'\uFF5A') forms have numeric values from 10
through 35. This is independent of the Unicode specification,
which does not assign numeric values to these char
values.
If the character does not have a numeric value, then -1 is returned. If the character has a numeric value that cannot be represented as a nonnegative integer (for example, a fractional value), then -2 is returned.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the getNumericValue(int) method.
public static
int
getNumericValue
(
int
codePoint
)
int value that the specified
character (Unicode code point) represents. For example, the character
'\u216C' (the Roman numeral fifty) will return
an int with a value of 50.
The letters A-Z in their uppercase ('\u0041' through
'\u005A'), lowercase
('\u0061' through '\u007A'), and
full width variant ('\uFF21' through
'\uFF3A' and '\uFF41' through
'\uFF5A') forms have numeric values from 10
through 35. This is independent of the Unicode specification,
which does not assign numeric values to these char
values.
If the character does not have a numeric value, then -1 is returned. If the character has a numeric value that cannot be represented as a nonnegative integer (for example, a fractional value), then -2 is returned.
public static
int
getType
(
char
ch
)
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the getType(int) method.
public static
int
getType
(
int
codePoint
)
public
int
hashCode
(
)
Character.
public static
boolean
isDefined
(
char
ch
)
A character is defined if at least one of the following is true:
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isDefined(int) method.
public static
boolean
isDefined
(
int
codePoint
)
A character is defined if at least one of the following is true:
public static
boolean
isDigit
(
char
ch
)
A character is a digit if its general category type, provided
by Character.getType(ch), is
DECIMAL_DIGIT_NUMBER.
Some Unicode character ranges that contain digits:
'\u0030' through '\u0039',
ISO-LATIN-1 digits ('0' through '9')
'\u0660' through '\u0669',
Arabic-Indic digits
'\u06F0' through '\u06F9',
Extended Arabic-Indic digits
'\u0966' through '\u096F',
Devanagari digits
'\uFF10' through '\uFF19',
Fullwidth digits
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isDigit(int) method.
public static
boolean
isDigit
(
int
codePoint
)
A character is a digit if its general category type, provided
by getType(codePoint) , is
DECIMAL_DIGIT_NUMBER.
Some Unicode character ranges that contain digits:
'\u0030' through '\u0039',
ISO-LATIN-1 digits ('0' through '9')
'\u0660' through '\u0669',
Arabic-Indic digits
'\u06F0' through '\u06F9',
Extended Arabic-Indic digits
'\u0966' through '\u096F',
Devanagari digits
'\uFF10' through '\uFF19',
Fullwidth digits
public static
boolean
isHighSurrogate
(
char
ch
)
char value is a
high-surrogate code unit (also known as leading-surrogate
code unit). Such values do not represent characters by
themselves, but are used in the representation of supplementary characters in the
UTF-16 encoding.
This method returns true if and only if
isch >= '\uD800' && ch <= '\uDBFF'
true.
public static
boolean
isIdentifierIgnorable
(
char
ch
)
The following Unicode characters are ignorable in a Java identifier or a Unicode identifier:
'\u0000' through '\u0008'
'\u000E' through '\u001B'
'\u007F' through '\u009F'
FORMAT general
category value
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isIdentifierIgnorable(int) method.
public static
boolean
isIdentifierIgnorable
(
int
codePoint
)
The following Unicode characters are ignorable in a Java identifier or a Unicode identifier:
'\u0000' through '\u0008'
'\u000E' through '\u001B'
'\u007F' through '\u009F'
FORMAT general
category value
public static
boolean
isISOControl
(
char
ch
)
'\u0000'
through '\u001F' or in the range
'\u007F' through '\u009F'.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isISOControl(int) method.
public static
boolean
isISOControl
(
int
codePoint
)
'\u0000'
through '\u001F' or in the range
'\u007F' through '\u009F'.
public static
boolean
isJavaIdentifierPart
(
char
ch
)
A character may be part of a Java identifier if any of the following are true:
'$')
'_')
isIdentifierIgnorable returns
true for the character
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isJavaIdentifierPart(int) method.
public static
boolean
isJavaIdentifierPart
(
int
codePoint
)
A character may be part of a Java identifier if any of the following are true:
'$')
'_')
true for
the character
public static
boolean
isJavaIdentifierStart
(
char
ch
)
A character may start a Java identifier if and only if one of the following conditions is true:
true
LETTER_NUMBER
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isJavaIdentifierStart(int) method.
public static
boolean
isJavaIdentifierStart
(
int
codePoint
)
A character may start a Java identifier if and only if one of the following conditions is true:
true
LETTER_NUMBER
A character may start a Java identifier if and only if one of the following is true:
true
LETTER_NUMBER
A character may be part of a Java identifier if and only if any of the following are true:
'$')
'_')
isIdentifierIgnorable returns
true for the character.
public static
boolean
isLetter
(
char
ch
)
A character is considered to be a letter if its general
category type, provided by Character.getType(ch),
is any of the following:
UPPERCASE_LETTER
LOWERCASE_LETTER
TITLECASE_LETTER
MODIFIER_LETTER
OTHER_LETTER
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isLetter(int) method.
public static
boolean
isLetter
(
int
codePoint
)
A character is considered to be a letter if its general category type, provided by getType(codePoint) , is any of the following:
UPPERCASE_LETTER
LOWERCASE_LETTER
TITLECASE_LETTER
MODIFIER_LETTER
OTHER_LETTER
public static
boolean
isLetterOrDigit
(
char
ch
)
A character is considered to be a letter or digit if either
Character.isLetter(char ch) or
Character.isDigit(char ch) returns
true for the character.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isLetterOrDigit(int) method.
public static
boolean
isLetterOrDigit
(
int
codePoint
)
A character is considered to be a letter or digit if either
isLetter(codePoint) or
isDigit(codePoint) returns
true for the character.
public static
boolean
isLowerCase
(
char
ch
)
A character is lowercase if its general category type, provided
by Character.getType(ch), is
LOWERCASE_LETTER.
The following are examples of lowercase characters:
a b c d e f g h i j k l m n o p q r s t u v w x y z '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6' '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE' '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6' '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF'
Many other Unicode characters are lowercase too.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isLowerCase(int) method.
public static
boolean
isLowerCase
(
int
codePoint
)
A character is lowercase if its general category type, provided
by getType(codePoint) , is
LOWERCASE_LETTER.
The following are examples of lowercase characters:
a b c d e f g h i j k l m n o p q r s t u v w x y z '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6' '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE' '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6' '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF'
Many other Unicode characters are lowercase too.
public static
boolean
isLowSurrogate
(
char
ch
)
char value is a
low-surrogate code unit (also known as trailing-surrogate code
unit). Such values do not represent characters by themselves,
but are used in the representation of supplementary characters in the UTF-16 encoding.
This method returns true if and only if
isch >= '\uDC00' && ch <= '\uDFFF'
true.
public static
boolean
isMirrored
(
char
ch
)
'\u0028' LEFT
PARENTHESIS is semantically defined to be an opening
parenthesis. This will appear as a "(" in text that is
left-to-right but as a ")" in text that is right-to-left.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isMirrored(int) method.
public static
boolean
isMirrored
(
int
codePoint
)
'\u0028' LEFT PARENTHESIS is semantically
defined to be an opening parenthesis. This will appear
as a "(" in text that is left-to-right but as a ")" in text
that is right-to-left. true for the following five
characters only:
'\t' | '\u0009' |
HORIZONTAL TABULATION |
'\n' | '\u000A' |
NEW LINE |
'\f' | '\u000C' |
FORM FEED |
'\r' | '\u000D' |
CARRIAGE RETURN |
' ' | '\u0020' |
SPACE |
public static
boolean
isSpaceChar
(
char
ch
)
SPACE_SEPARATOR
LINE_SEPARATOR
PARAGRAPH_SEPARATOR
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isSpaceChar(int) method.
public static
boolean
isSpaceChar
(
int
codePoint
)
public static
boolean
isSupplementaryCodePoint
(
int
codePoint
)
codePoint >= 0x10000 && codePoint <= 0x10FFFF
public static
boolean
isSurrogatePair
(
char
high,
char
low
)
char
values is a valid surrogate pair. This method is equivalent to
the expression:
isHighSurrogate(high) && isLowSurrogate(low)
public static
boolean
isTitleCase
(
char
ch
)
A character is a titlecase character if its general
category type, provided by Character.getType(ch),
is TITLECASE_LETTER.
Some characters look like pairs of Latin letters. For example, there is an uppercase letter that looks like "LJ" and has a corresponding lowercase letter that looks like "lj". A third form, which looks like "Lj", is the appropriate form to use when rendering a word in lowercase with initial capitals, as for a book title.
These are some of the Unicode characters for which this method returns
true:
LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
LATIN CAPITAL LETTER L WITH SMALL LETTER J
LATIN CAPITAL LETTER N WITH SMALL LETTER J
LATIN CAPITAL LETTER D WITH SMALL LETTER Z
Many other Unicode characters are titlecase too.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isTitleCase(int) method.
public static
boolean
isTitleCase
(
int
codePoint
)
A character is a titlecase character if its general
category type, provided by getType(codePoint) ,
is TITLECASE_LETTER.
Some characters look like pairs of Latin letters. For example, there is an uppercase letter that looks like "LJ" and has a corresponding lowercase letter that looks like "lj". A third form, which looks like "Lj", is the appropriate form to use when rendering a word in lowercase with initial capitals, as for a book title.
These are some of the Unicode characters for which this method returns
true:
LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
LATIN CAPITAL LETTER L WITH SMALL LETTER J
LATIN CAPITAL LETTER N WITH SMALL LETTER J
LATIN CAPITAL LETTER D WITH SMALL LETTER Z
Many other Unicode characters are titlecase too.
public static
boolean
isUnicodeIdentifierPart
(
char
ch
)
A character may be part of a Unicode identifier if and only if one of the following statements is true:
'_')
isIdentifierIgnorable returns
true for this character.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isUnicodeIdentifierPart(int) method.
public static
boolean
isUnicodeIdentifierPart
(
int
codePoint
)
A character may be part of a Unicode identifier if and only if one of the following statements is true:
'_')
isIdentifierIgnorable returns
true for this character.
public static
boolean
isUnicodeIdentifierStart
(
char
ch
)
A character may start a Unicode identifier if and only if one of the following conditions is true:
true
LETTER_NUMBER.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isUnicodeIdentifierStart(int) method.
public static
boolean
isUnicodeIdentifierStart
(
int
codePoint
)
A character may start a Unicode identifier if and only if one of the following conditions is true:
true
LETTER_NUMBER.
public static
boolean
isUpperCase
(
char
ch
)
A character is uppercase if its general category type, provided by
Character.getType(ch), is UPPERCASE_LETTER.
The following are examples of uppercase characters:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7' '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF' '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8' '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE'
Many other Unicode characters are uppercase too.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isUpperCase(int) method.
public static
boolean
isUpperCase
(
int
codePoint
)
A character is uppercase if its general category type, provided by
getType(codePoint) , is UPPERCASE_LETTER.
The following are examples of uppercase characters:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7' '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF' '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8' '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE'
Many other Unicode characters are uppercase too.
public static
boolean
isValidCodePoint
(
int
codePoint
)
0x0000 to
0x10FFFF inclusive. This method is equivalent to
the expression:
codePoint >= 0x0000 && codePoint <= 0x10FFFF
public static
boolean
isWhitespace
(
char
ch
)
SPACE_SEPARATOR,
LINE_SEPARATOR, or PARAGRAPH_SEPARATOR)
but is not also a non-breaking space ('\u00A0',
'\u2007', '\u202F').
'\u0009', HORIZONTAL TABULATION.
'\u000A', LINE FEED.
'\u000B', VERTICAL TABULATION.
'\u000C', FORM FEED.
'\u000D', CARRIAGE RETURN.
'\u001C', FILE SEPARATOR.
'\u001D', GROUP SEPARATOR.
'\u001E', RECORD SEPARATOR.
'\u001F', UNIT SEPARATOR.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isWhitespace(int) method.
public static
boolean
isWhitespace
(
int
codePoint
)
'\u00A0',
'\u2007', '\u202F').
'\u0009', HORIZONTAL TABULATION.
'\u000A', LINE FEED.
'\u000B', VERTICAL TABULATION.
'\u000C', FORM FEED.
'\u000D', CARRIAGE RETURN.
'\u001C', FILE SEPARATOR.
'\u001D', GROUP SEPARATOR.
'\u001E', RECORD SEPARATOR.
'\u001F', UNIT SEPARATOR.
index by codePointOffset
code points. Unpaired surrogates within the text range given by
index and codePointOffset count as
one code point each.
public static
int
offsetByCodePoints
(
char
[]
a,
int
start,
int
count,
int
index,
int
codePointOffset
)
char subarray
that is offset from the given index by
codePointOffset code points. The
start and count arguments specify a
subarray of the char array. Unpaired surrogates
within the text range given by index and
codePointOffset count as one code point each.
public static
char
reverseBytes
(
char
ch
)
public static
int
toChars
(
int
codePoint,
char
[]
dst,
int
dstIndex
)
dst[dstIndex], and 1 is returned. If the
specified code point is a supplementary character, its
surrogate values are stored in dst[dstIndex]
(high-surrogate) and dst[dstIndex+1]
(low-surrogate), and 2 is returned.
public static
char[]
toChars
(
int
codePoint
)
char array. If
the specified code point is a BMP (Basic Multilingual Plane or
Plane 0) value, the resulting char array has
the same value as codePoint. If the specified code
point is a supplementary code point, the resulting
char array has the corresponding surrogate pair.
public static
int
toCodePoint
(
char
high,
char
low
)
public static
char
toLowerCase
(
char
ch
)
Note that
Character.isLowerCase(Character.toLowerCase(ch))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
In general, toLowerCase() should be used to map
characters to lowercase. String case mapping methods
have several benefits over Character case mapping methods.
String case mapping methods can perform locale-sensitive
mappings, context-sensitive mappings, and 1:M character mappings, whereas
the Character case mapping methods cannot.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the toLowerCase(int) method.
public static
int
toLowerCase
(
int
codePoint
)
Note that
Character.isLowerCase(Character.toLowerCase(codePoint))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
In general, toLowerCase() should be used to map
characters to lowercase. String case mapping methods
have several benefits over Character case mapping methods.
String case mapping methods can perform locale-sensitive
mappings, context-sensitive mappings, and 1:M character mappings, whereas
the Character case mapping methods cannot.
String object representing this
Character's value. The result is a string of
length 1 whose sole component is the primitive
char value represented by this
Character object. String object representing the
specified char. The result is a string of length
1 consisting solely of the specified char.
public static
char
toTitleCase
(
char
ch
)
char argument is already a titlecase
char, the same char value will be
returned.
Note that
Character.isTitleCase(Character.toTitleCase(ch))
does not always return true for some ranges of
characters.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the toTitleCase(int) method.
public static
int
toTitleCase
(
int
codePoint
)
Note that
Character.isTitleCase(Character.toTitleCase(codePoint))
does not always return true for some ranges of
characters.
public static
char
toUpperCase
(
char
ch
)
Note that
Character.isUpperCase(Character.toUpperCase(ch))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
In general, toUpperCase() should be used to map
characters to uppercase. String case mapping methods
have several benefits over Character case mapping methods.
String case mapping methods can perform locale-sensitive
mappings, context-sensitive mappings, and 1:M character mappings, whereas
the Character case mapping methods cannot.
Note: This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the toUpperCase(int) method.
public static
int
toUpperCase
(
int
codePoint
)
Note that
Character.isUpperCase(Character.toUpperCase(codePoint))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
In general, toUpperCase() should be used to map
characters to uppercase. String case mapping methods
have several benefits over Character case mapping methods.
String case mapping methods can perform locale-sensitive
mappings, context-sensitive mappings, and 1:M character mappings, whereas
the Character case mapping methods cannot.