|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.lang.Character
public final class Character
The 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 J2SE 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.
| Nested Class Summary | |
|---|---|
static class |
Character.Subset
Instances of this class represent particular subsets of the Unicode character set. |
static class |
Character.UnicodeBlock
A family of character subsets representing the character blocks in the Unicode specification. |
| Field Summary | |
|---|---|
static byte |
COMBINING_SPACING_MARK
General category "Mc" in the Unicode specification. |
static byte |
CONNECTOR_PUNCTUATION
General category "Pc" in the Unicode specification. |
static byte |
CONTROL
General category "Cc" in the Unicode specification. |
static byte |
CURRENCY_SYMBOL
General category "Sc" in the Unicode specification. |
static byte |
DASH_PUNCTUATION
General category "Pd" in the Unicode specification. |
static byte |
DECIMAL_DIGIT_NUMBER
General category "Nd" in the Unicode specification. |
static byte |
DIRECTIONALITY_ARABIC_NUMBER
Weak bidirectional character type "AN" in the Unicode specification. |
static byte |
DIRECTIONALITY_BOUNDARY_NEUTRAL
Weak bidirectional character type "BN" in the Unicode specification. |
static byte |
DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
Weak bidirectional character type "CS" in the Unicode specification. |
static byte |
DIRECTIONALITY_EUROPEAN_NUMBER
Weak bidirectional character type "EN" in the Unicode specification. |
static byte |
DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
Weak bidirectional character type "ES" in the Unicode specification. |
static byte |
DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
Weak bidirectional character type "ET" in the Unicode specification. |
static byte |
DIRECTIONALITY_LEFT_TO_RIGHT
Strong bidirectional character type "L" in the Unicode specification. |
static byte |
DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
Strong bidirectional character type "LRE" in the Unicode specification. |
static byte |
DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
Strong bidirectional character type "LRO" in the Unicode specification. |
static byte |
DIRECTIONALITY_NONSPACING_MARK
Weak bidirectional character type "NSM" in the Unicode specification. |
static byte |
DIRECTIONALITY_OTHER_NEUTRALS
Neutral bidirectional character type "ON" in the Unicode specification. |
static byte |
DIRECTIONALITY_PARAGRAPH_SEPARATOR
Neutral bidirectional character type "B" in the Unicode specification. |
static byte |
DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
Weak bidirectional character type "PDF" in the Unicode specification. |
static byte |
DIRECTIONALITY_RIGHT_TO_LEFT
Strong bidirectional character type "R" in the Unicode specification. |
static byte |
DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
Strong bidirectional character type "AL" in the Unicode specification. |
static byte |
DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
Strong bidirectional character type "RLE" in the Unicode specification. |
static byte |
DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
Strong bidirectional character type "RLO" in the Unicode specification. |
static byte |
DIRECTIONALITY_SEGMENT_SEPARATOR
Neutral bidirectional character type "S" in the Unicode specification. |
static byte |
DIRECTIONALITY_UNDEFINED
Undefined bidirectional character type. |
static byte |
DIRECTIONALITY_WHITESPACE
Neutral bidirectional character type "WS" in the Unicode specification. |
static byte |
ENCLOSING_MARK
General category "Me" in the Unicode specification. |
static byte |
END_PUNCTUATION
General category "Pe" in the Unicode specification. |
static byte |
FINAL_QUOTE_PUNCTUATION
General category "Pf" in the Unicode specification. |
static byte |
FORMAT
General category "Cf" in the Unicode specification. |
static byte |
INITIAL_QUOTE_PUNCTUATION
General category "Pi" in the Unicode specification. |
static byte |
LETTER_NUMBER
General category "Nl" in the Unicode specification. |
static byte |
LINE_SEPARATOR
General category "Zl" in the Unicode specification. |
static byte |
LOWERCASE_LETTER
General category "Ll" in the Unicode specification. |
static byte |
MATH_SYMBOL
General category "Sm" in the Unicode specification. |
static int |
MAX_CODE_POINT
The maximum value of a Unicode code point. |
static char |
MAX_HIGH_SURROGATE
The maximum value of a Unicode high-surrogate code unit in the UTF-16 encoding. |
static char |
MAX_LOW_SURROGATE
The maximum value of a Unicode low-surrogate code unit in the UTF-16 encoding. |
static int |
MAX_RADIX
The maximum radix available for conversion to and from strings. |
static char |
MAX_SURROGATE
The maximum value of a Unicode surrogate code unit in the UTF-16 encoding. |
static char |
MAX_VALUE
The constant value of this field is the largest value of type char, '\uFFFF'. |
static int |
MIN_CODE_POINT
The minimum value of a Unicode code point. |
static char |
MIN_HIGH_SURROGATE
The minimum value of a Unicode high-surrogate code unit in the UTF-16 encoding. |
static char |
MIN_LOW_SURROGATE
The minimum value of a Unicode low-surrogate code unit in the UTF-16 encoding. |
static int |
MIN_RADIX
The minimum radix available for conversion to and from strings. |
static int |
MIN_SUPPLEMENTARY_CODE_POINT
The minimum value of a supplementary code point. |
static char |
MIN_SURROGATE
The minimum value of a Unicode surrogate code unit in the UTF-16 encoding. |
static char |
MIN_VALUE
The constant value of this field is the smallest value of type char, '\u0000'. |
static byte |
MODIFIER_LETTER
General category "Lm" in the Unicode specification. |
static byte |
MODIFIER_SYMBOL
General category "Sk" in the Unicode specification. |
static byte |
NON_SPACING_MARK
General category "Mn" in the Unicode specification. |
static byte |
OTHER_LETTER
General category "Lo" in the Unicode specification. |
static byte |
OTHER_NUMBER
General category "No" in the Unicode specification. |
static byte |
OTHER_PUNCTUATION
General category "Po" in the Unicode specification. |
static byte |
OTHER_SYMBOL
General category "So" in the Unicode specification. |
static byte |
PARAGRAPH_SEPARATOR
General category "Zp" in the Unicode specification. |
static byte |
PRIVATE_USE
General category "Co" in the Unicode specification. |
static int |
SIZE
The number of bits used to represent a char value in unsigned binary form. |
static byte |
SPACE_SEPARATOR
General category "Zs" in the Unicode specification. |
static byte |
START_PUNCTUATION
General category "Ps" in the Unicode specification. |
static byte |
SURROGATE
General category "Cs" in the Unicode specification. |
static byte |
TITLECASE_LETTER
General category "Lt" in the Unicode specification. |
static Class<Character> |
TYPE
The Class instance representing the primitive type
char. |
static byte |
UNASSIGNED
General category "Cn" in the Unicode specification. |
static byte |
UPPERCASE_LETTER
General category "Lu" in the Unicode specification. |
| Constructor Summary | |
|---|---|
Character(char value)
Constructs a newly allocated Character object that
represents the specified char value. |
|
| Method Summary | |
|---|---|
static int |
charCount(int codePoint)
Determines the number of char values needed to
represent the specified character (Unicode code point). |
char |
charValue()
Returns the value of this Character object. |
static int |
codePointAt(char[] a,
int index)
Returns the code point at the given index of the char array. |
static int |
codePointAt(char[] a,
int index,
int limit)
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 |
codePointAt(CharSequence seq,
int index)
Returns the code point at the given index of the CharSequence. |
static int |
codePointBefore(char[] a,
int index)
Returns the code point preceding the given index of the char array. |
static int |
codePointBefore(char[] a,
int index,
int start)
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 |
codePointBefore(CharSequence seq,
int index)
Returns the code point preceding the given index of the CharSequence. |
static int |
codePointCount(char[] a,
int offset,
int count)
Returns the number of Unicode code points in a subarray of the char array argument. |
static int |
codePointCount(CharSequence seq,
int beginIndex,
int endIndex)
Returns the number of Unicode code points in the text range of the specified char sequence. |
int |
compareTo(Character anotherCharacter)
Compares two Character objects numerically. |
static int |
digit(char ch,
int radix)
Returns the numeric value of the character ch in the
specified radix. |
static int |
digit(int codePoint,
int radix)
Returns the numeric value of the specified character (Unicode code point) in the specified radix. |
boolean |
equals(Object obj)
Compares this object against the specified object. |
static char |
forDigit(int digit,
int radix)
Determines the character representation for a specific digit in the specified radix. |
static byte |
getDirectionality(char ch)
Returns the Unicode directionality property for the given character. |
static byte |
getDirectionality(int codePoint)
Returns the Unicode directionality property for the given character (Unicode code point). |
static int |
getNumericValue(char ch)
Returns the int value that the specified Unicode
character represents. |
static int |
getNumericValue(int codePoint)
Returns the int value that the specified
character (Unicode code point) represents. |
static int |
getType(char ch)
Returns a value indicating a character's general category. |
static int |
getType(int codePoint)
Returns a value indicating a character's general category. |
int |
hashCode()
Returns a hash code for this Character. |
static boolean |
isDefined(char ch)
Determines if a character is defined in Unicode. |
static boolean |
isDefined(int codePoint)
Determines if a character (Unicode code point) is defined in Unicode. |
static boolean |
isDigit(char ch)
Determines if the specified character is a digit. |
static boolean |
isDigit(int codePoint)
Determines if the specified character (Unicode code point) is a digit. |
static boolean |
isHighSurrogate(char ch)
Determines if the given char value is a
high-surrogate code unit (also known as leading-surrogate
code unit). |
static boolean |
isIdentifierIgnorable(char ch)
Determines if the specified character should be regarded as an ignorable character in a Java identifier or a Unicode identifier. |
static boolean |
isIdentifierIgnorable(int codePoint)
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 |
isISOControl(char ch)
Determines if the specified character is an ISO control character. |
static boolean |
isISOControl(int codePoint)
Determines if the referenced character (Unicode code point) is an ISO control character. |
static boolean |
isJavaIdentifierPart(char ch)
Determines if the specified character may be part of a Java identifier as other than the first character. |
static boolean |
isJavaIdentifierPart(int codePoint)
Determines if the character (Unicode code point) may be part of a Java identifier as other than the first character. |
static boolean |
isJavaIdentifierStart(char ch)
Determines if the specified character is permissible as the first character in a Java identifier. |
static boolean |
isJavaIdentifierStart(int codePoint)
Determines if the character (Unicode code point) is permissible as the first character in a Java identifier. |
static boolean |
isJavaLetter(char ch)
Deprecated. Replaced by isJavaIdentifierStart(char). |
static boolean |
isJavaLetterOrDigit(char ch)
Deprecated. Replaced by isJavaIdentifierPart(char). |
static boolean |
isLetter(char ch)
Determines if the specified character is a letter. |
static boolean |
isLetter(int codePoint)
Determines if the specified character (Unicode code point) is a letter. |
static boolean |
isLetterOrDigit(char ch)
Determines if the specified character is a letter or digit. |
static boolean |
isLetterOrDigit(int codePoint)
Determines if the specified character (Unicode code point) is a letter or digit. |
static boolean |
isLowerCase(char ch)
Determines if the specified character is a lowercase character. |
static boolean |
isLowerCase(int codePoint)
Determines if the specified character (Unicode code point) is a lowercase character. |
static boolean |
isLowSurrogate(char ch)
Determines if the given char value is a
low-surrogate code unit (also known as trailing-surrogate code
unit). |
static boolean |
isMirrored(char ch)
Determines whether the character is mirrored according to the Unicode specification. |
static boolean |
isMirrored(int codePoint)
Determines whether the specified character (Unicode code point) is mirrored according to the Unicode specification. |
static boolean |
isSpace(char ch)
Deprecated. Replaced by isWhitespace(char). |
static boolean |
isSpaceChar(char ch)
Determines if the specified character is a Unicode space character. |
static boolean |
isSpaceChar(int codePoint)
Determines if the specified character (Unicode code point) is a Unicode space character. |
static boolean |
isSupplementaryCodePoint(int codePoint)
Determines whether the specified character (Unicode code point) is in the supplementary character range. |
static boolean |
isSurrogatePair(char high,
char low)
Determines whether the specified pair of char
values is a valid surrogate pair. |
static boolean |
isTitleCase(char ch)
Determines if the specified character is a titlecase character. |
static boolean |
isTitleCase(int codePoint)
Determines if the specified character (Unicode code point) is a titlecase character. |
static boolean |
isUnicodeIdentifierPart(char ch)
Determines if the specified character may be part of a Unicode identifier as other than the first character. |
static boolean |
isUnicodeIdentifierPart(int codePoint)
Determines if the specified character (Unicode code point) may be part of a Unicode identifier as other than the first character. |
static boolean |
isUnicodeIdentifierStart(char ch)
Determines if the specified character is permissible as the first character in a Unicode identifier. |
static boolean |
isUnicodeIdentifierStart(int codePoint)
Determines if the specified character (Unicode code point) is permissible as the first character in a Unicode identifier. |
static boolean |
isUpperCase(char ch)
Determines if the specified character is an uppercase character. |
static boolean |
isUpperCase(int codePoint)
Determines if the specified character (Unicode code point) is an uppercase character. |
static boolean |
isValidCodePoint(int codePoint)
Determines whether the specified code point is a valid Unicode code point value in the range of 0x0000 to
0x10FFFF inclusive. |
static boolean |
isWhitespace(char ch)
Determines if the specified character is white space according to Java. |
static boolean |
isWhitespace(int codePoint)
Determines if the specified character (Unicode code point) is white space according to Java. |
static int |
offsetByCodePoints(char[] a,
int start,
int count,
int index,
int codePointOffset)
Returns the index within the given char subarray
that is offset from the given index by
codePointOffset code points. |
static int |
offsetByCodePoints(CharSequence seq,
int index,
int codePointOffset)
Returns the index within the given char sequence that is offset from the given index by codePointOffset
code points. |
static char |
reverseBytes(char ch)
Returns the value obtained by reversing the order of the bytes in the specified char value. |
static char[] |
toChars(int codePoint)
Converts the specified character (Unicode code point) to its UTF-16 representation stored in a char array. |
static int |
toChars(int codePoint,
char[] dst,
int dstIndex)
Converts the specified character (Unicode code point) to its UTF-16 representation. |
static int |
toCodePoint(char high,
char low)
Converts the specified surrogate pair to its supplementary code point value. |
static char |
toLowerCase(char ch)
Converts the character argument to lowercase using case mapping information from the UnicodeData file. |
static int |
toLowerCase(int codePoint)
Converts the character (Unicode code point) argument to lowercase using case mapping information from the UnicodeData file. |
String |
toString()
Returns a String object representing this
Character's value. |
static String |
toString(char c)
Returns a String object representing the
specified char. |
static char |
toTitleCase(char ch)
Converts the character argument to titlecase using case mapping information from the UnicodeData file. |
static int |
toTitleCase(int codePoint)
Converts the character (Unicode code point) argument to titlecase using case mapping information from the UnicodeData file. |
static char |
toUpperCase(char ch)
Converts the character argument to uppercase using case mapping information from the UnicodeData file. |
static int |
toUpperCase(int codePoint)
Converts the character (Unicode code point) argument to uppercase using case mapping information from the UnicodeData file. |
static Character |
valueOf(char c)
Returns a Character instance representing the specified char value. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int MIN_RADIX
digit method, the forDigit
method, and the toString method of class
Integer.
digit(char, int),
forDigit(int, int),
Integer.toString(int, int),
Integer.valueOf(java.lang.String),
Constant Field Valuespublic static final int MAX_RADIX
digit method, the forDigit
method, and the toString method of class
Integer.
digit(char, int),
forDigit(int, int),
Integer.toString(int, int),
Integer.valueOf(java.lang.String),
Constant Field Valuespublic static final char MIN_VALUE
char, '\u0000'.
public static final char MAX_VALUE
char, '\uFFFF'.
public static final Class<Character> TYPE
Class instance representing the primitive type
char.
public static final byte UNASSIGNED
public static final byte UPPERCASE_LETTER
public static final byte LOWERCASE_LETTER
public static final byte TITLECASE_LETTER
public static final byte MODIFIER_LETTER
public static final byte OTHER_LETTER
public static final byte NON_SPACING_MARK
public static final byte ENCLOSING_MARK
public static final byte COMBINING_SPACING_MARK
public static final byte DECIMAL_DIGIT_NUMBER
public static final byte LETTER_NUMBER
public static final byte OTHER_NUMBER
public static final byte SPACE_SEPARATOR
public static final byte LINE_SEPARATOR
public static final byte PARAGRAPH_SEPARATOR
public static final byte CONTROL
public static final byte FORMAT
public static final byte PRIVATE_USE
public static final byte SURROGATE
public static final byte DASH_PUNCTUATION
public static final byte START_PUNCTUATION
public static final byte END_PUNCTUATION
public static final byte CONNECTOR_PUNCTUATION
public static final byte OTHER_PUNCTUATION
public static final byte MATH_SYMBOL
public static final byte CURRENCY_SYMBOL
public static final byte MODIFIER_SYMBOL
public static final byte OTHER_SYMBOL
public static final byte INITIAL_QUOTE_PUNCTUATION
public static final byte FINAL_QUOTE_PUNCTUATION
public static final byte DIRECTIONALITY_UNDEFINED
char
values have undefined directionality in the Unicode specification.
public static final byte DIRECTIONALITY_LEFT_TO_RIGHT
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
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_ARABIC_NUMBER
public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
public static final byte DIRECTIONALITY_NONSPACING_MARK
public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL
public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR
public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR
public static final byte DIRECTIONALITY_WHITESPACE
public static final byte DIRECTIONALITY_OTHER_NEUTRALS
public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
public static final char MIN_HIGH_SURROGATE
public static final char MAX_HIGH_SURROGATE
public static final char MIN_LOW_SURROGATE
public static final char MAX_LOW_SURROGATE
public static final char MIN_SURROGATE
public static final char MAX_SURROGATE
public static final int MIN_SUPPLEMENTARY_CODE_POINT
public static final int MIN_CODE_POINT
public static final int MAX_CODE_POINT
public static final int SIZE
| Constructor Detail |
|---|
public Character(char value)
Character object that
represents the specified char value.
value - the value to be represented by the
Character object.| Method Detail |
|---|
public static Character valueOf(char c)
Character(char), as this method is likely to yield
significantly better space and time performance by caching
frequently requested values.
c - a char value.
public char charValue()
Character object.
char value represented by
this object.public int hashCode()
Character.
hashCode in class ObjectObject.equals(java.lang.Object),
Hashtablepublic boolean equals(Object obj)
true if and only if the argument is not
null and is a Character object that
represents the same char value as this object.
equals in class Objectobj - the object to compare with.
true if the objects are the same;
false otherwise.Object.hashCode(),
Hashtablepublic String toString()
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.
toString in class Objectpublic static String toString(char c)
String object representing the
specified char. The result is a string of length
1 consisting solely of the specified char.
c - the char to be converted
charpublic static boolean isValidCodePoint(int codePoint)
0x0000 to
0x10FFFF inclusive. This method is equivalent to
the expression:
codePoint >= 0x0000 && codePoint <= 0x10FFFF
codePoint - the Unicode code point to be tested
true if the specified code point value
is a valid code point value;
false otherwise.public static boolean isSupplementaryCodePoint(int codePoint)
codePoint >= 0x10000 && codePoint <= 0x10ffff
codePoint - the character (Unicode code point) to be tested
true if the specified character is in the Unicode
supplementary character range; false otherwise.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.
ch - the char value to be tested.
true if the char value
is between '\uD800' and '\uDBFF' inclusive;
false otherwise.isLowSurrogate(char),
Character.UnicodeBlock.of(int)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.
ch - the char value to be tested.
true if the char value
is between '\uDC00' and '\uDFFF' inclusive;
false otherwise.isHighSurrogate(char)
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)
high - the high-surrogate code value to be testedlow - the low-surrogate code value to be tested
true if the specified high and
low-surrogate code values represent a valid surrogate pair;
false otherwise.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.
codePoint - the character (Unicode code point) to be tested.
isSupplementaryCodePoint(int)
public static int toCodePoint(char high,
char low)
isSurrogatePair if necessary.
high - the high-surrogate code unitlow - the low-surrogate code unit
public static int codePointAt(CharSequence seq,
int index)
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.
seq - a sequence of char values (Unicode code
units)index - the index to the char values (Unicode
code units) in seq to be converted
NullPointerException - if seq is null.
IndexOutOfBoundsException - if the value
index is negative or not less than
seq.length().
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.
a - the char arrayindex - the index to the char values (Unicode
code units) in the char array to be converted
NullPointerException - if a is null.
IndexOutOfBoundsException - if the value
index is negative or not less than
the length of the char array.
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.
a - the char arrayindex - the index to the char values (Unicode
code units) in the char array to be convertedlimit - the index after the last array element that can be used in the
char array
NullPointerException - if a is null.
IndexOutOfBoundsException - if the index
argument is negative or not less than the limit
argument, or if the limit argument is negative or
greater than the length of the char array.
public static int codePointBefore(CharSequence seq,
int index)
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.
seq - the CharSequence instanceindex - the index following the code point that should be returned
NullPointerException - if seq is null.
IndexOutOfBoundsException - if the index
argument is less than 1 or greater than seq.length().
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.
a - the char arrayindex - the index following the code point that should be returned
NullPointerException - if a is null.
IndexOutOfBoundsException - if the index
argument is less than 1 or greater than the length of the
char array
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.
a - the char arrayindex - the index following the code point that should be returnedstart - the index of the first array element in the
char array
NullPointerException - if a is null.
IndexOutOfBoundsException - if the index
argument is not greater than the start argument or
is greater than the length of the char array, or
if the start argument is negative or not less than
the length of the char array.
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.
codePoint - the character (Unicode code point) to be converted.dst - an array of char in which the
codePoint's UTF-16 value is stored.dstIndex - the start index into the dst
array where the converted value is stored.
IllegalArgumentException - if the specified
codePoint is not a valid Unicode code point.
NullPointerException - if the specified dst is null.
IndexOutOfBoundsException - if dstIndex
is negative or no