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:
The methods that only accept a 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.
The methods that accept an 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.
author: Lee Boynton author: Guy Steele author: Akira Tanaka since: 1.0
Inner Class :public static class Subset
Inner Class :final public static class UnicodeBlock extends Subset
TYPE The Class instance representing the primitive type
char.
final public static byte
UNASSIGNED General category "Cn" in the Unicode specification.
final public static byte
UPPERCASE_LETTER General category "Lu" in the Unicode specification.
Constructor Summary
public
Character(char value) Constructs a newly allocated Character object that
represents the specified char value.
Method Summary
public static int
charCount(int codePoint) Determines the number of char values needed to
represent the specified character (Unicode code point).
public char
charValue() Returns the value of this Character object.
public static int
codePointAt(CharSequence seq, int index) Returns the code point at the given index of the
CharSequence.
public static int
codePointAt(char[] a, int index) Returns the code point at the given index of the
char array.
public 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.
codePointBefore(CharSequence seq, int index) Returns the code point preceding the given index of the
CharSequence.
public static int
codePointBefore(char[] a, int index) Returns the code point preceding the given index of the
char array.
public 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.
codePointCount(CharSequence seq, int beginIndex, int endIndex) Returns the number of Unicode code points in the text range of
the specified char sequence.
public static int
codePointCount(char[] a, int offset, int count) Returns the number of Unicode code points in a subarray of the
char array argument.
compareTo(Character anotherCharacter) Compares two Character objects numerically.
Parameters: anotherCharacter - the Character to be compared.
public static int
digit(char ch, int radix) Returns the numeric value of the character 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.
public static int
digit(int codePoint, int radix) Returns the numeric value of the specified character (Unicode
code point) in the specified 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.
public boolean
equals(Object obj) Compares this object against the specified object.
The result is true if and only if the argument is not
null and is a Character object that
represents the same char value as this object.
Parameters: obj - the object to compare with.
public static char
forDigit(int digit, int radix) Determines the character representation for a specific digit in
the specified radix.
public static byte
getDirectionality(char ch) Returns the Unicode directionality property for the given
character.
public static byte
getDirectionality(int codePoint) Returns the Unicode directionality property for the given
character (Unicode code point).
public static int
getNumericValue(char ch) Returns the int value that the specified Unicode
character represents.
public static int
getNumericValue(int codePoint) Returns the int value that the specified
character (Unicode code point) represents.
public static int
getType(char ch) Returns a value indicating a character's general category.
getType(int codePoint) Returns a value indicating a character's general category.
Parameters: codePoint - the character (Unicode code point) to be tested.
public int
hashCode() Returns a hash code for this Character.
public static boolean
isDefined(char ch) Determines if a character is defined in Unicode.
A character is defined if at least one of the following is true:
It has an entry in the UnicodeData file.
It has a value in a range defined by the UnicodeData file.
isDigit(int codePoint) Determines if the specified character (Unicode code point) is a digit.
A character is a digit if its general category type, provided
by
Character.getType(int) 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
Many other character ranges contain digits as well.
Parameters: codePoint - the character (Unicode code point) to be tested.
public static boolean
isHighSurrogate(char ch) Determines if the given char value is a
high-surrogate code unit (also known as leading-surrogate
code unit).
public static boolean
isISOControl(char ch) Determines if the specified character is an ISO control
character.
public static boolean
isISOControl(int codePoint) Determines if the referenced character (Unicode code point) is an ISO control
character.
public 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.
The following Unicode characters are ignorable in a Java identifier
or a Unicode identifier:
ISO control characters that are not whitespace
'\u0000' through '\u0008'
'\u000E' through '\u001B'
'\u007F' through '\u009F'
all characters that have the FORMAT general
category value
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.
The following Unicode characters are ignorable in a Java identifier
or a Unicode identifier:
ISO control characters that are not whitespace
'\u0000' through '\u0008'
'\u000E' through '\u001B'
'\u007F' through '\u009F'
all characters that have the FORMAT general
category value
Parameters: codePoint - the character (Unicode code point) to be tested.
public static boolean
isJavaIdentifierPart(char ch) Determines if the specified character may be part of a Java
identifier as other than the first character.
A character may be part of a Java identifier if any of the following
are true:
it is a letter
it is a currency symbol (such as '$')
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
it is a combining mark
it is a non-spacing mark
isIdentifierIgnorable returns
true for the character
isJavaIdentifierPart(int codePoint) Determines if the character (Unicode code point) may be part of a Java
identifier as other than the first character.
A character may be part of a Java identifier if any of the following
are true:
it is a letter
it is a currency symbol (such as '$')
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
ch is a connecting punctuation character (such as "_").
Parameters: ch - the character to be tested.
public static boolean
isJavaLetterOrDigit(char ch) Determines if the specified character may be part of a Java
identifier as other than the first character.
A character may be part of a Java identifier if and only if any
of the following are true:
it is a letter
it is a currency symbol (such as '$')
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
it is a combining mark
it is a non-spacing mark
isIdentifierIgnorable returns
true for the character.
Parameters: ch - the character to be tested.
public static boolean
isLetter(char ch) Determines if the specified character is a letter.
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
Not all letters have case.
public static boolean
isLetter(int codePoint) Determines if the specified character (Unicode code point) is a letter.
A character is considered to be a letter if its general
category type, provided by
Character.getType(int) getType(codePoint) ,
is any of the following:
UPPERCASE_LETTER
LOWERCASE_LETTER
TITLECASE_LETTER
MODIFIER_LETTER
OTHER_LETTER
Not all letters have case.
public static boolean
isLetterOrDigit(char ch) Determines if the specified character is a letter or digit.
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.
isLetterOrDigit(int codePoint) Determines if the specified character (Unicode code point) is a letter or digit.
A character is considered to be a letter or digit if either
Character.isLetter(int) isLetter(codePoint) or
Character.isDigit(int) isDigit(codePoint) returns
true for the character.
Parameters: codePoint - the character (Unicode code point) to be tested.
public static boolean
isLowSurrogate(char ch) Determines if the given char value is a
low-surrogate code unit (also known as trailing-surrogate code
unit).
public static boolean
isLowerCase(char ch) Determines if the specified character is a lowercase character.
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'
isLowerCase(int codePoint) Determines if the specified character (Unicode code point) is a
lowercase character.
A character is lowercase if its general category type, provided
by
Character.getType 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.
Parameters: codePoint - the character (Unicode code point) to be tested.
public static boolean
isMirrored(char ch) Determines whether the character is mirrored according to the
Unicode specification.
public static boolean
isMirrored(int codePoint) Determines whether the specified character (Unicode code point)
is mirrored according to the Unicode specification.
public static boolean
isSpace(char ch) Determines if the specified character is ISO-LATIN-1 white space.
This method returns 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
Parameters: ch - the character to be tested.
public static boolean
isSpaceChar(char ch) Determines if the specified character is a Unicode space character.
A character is considered to be a space character if and only if
it is specified to be a space character by the Unicode standard.
public static boolean
isSpaceChar(int codePoint) Determines if the specified character (Unicode code point) is a
Unicode space character.
public static boolean
isSupplementaryCodePoint(int codePoint) Determines whether the specified character (Unicode code point)
is in the supplementary character range.
public static boolean
isSurrogatePair(char high, char low) Determines whether the specified pair of char
values is a valid surrogate pair.
public static boolean
isTitleCase(char ch) Determines if the specified character is a titlecase character.
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.
public static boolean
isTitleCase(int codePoint) Determines if the specified character (Unicode code point) is a titlecase character.
A character is a titlecase character if its general
category type, provided by
Character.getType(int) getType(codePoint) ,
is TITLECASE_LETTER.
Some characters look like pairs of Latin letters.
public static boolean
isUnicodeIdentifierPart(char ch) Determines if the specified character may be part of a Unicode
identifier as other than the first character.
A character may be part of a Unicode identifier if and only if
one of the following statements is true:
it is a letter
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
it is a combining mark
it is a non-spacing mark
isIdentifierIgnorable returns
true for this character.
isUnicodeIdentifierPart(int codePoint) Determines if the specified character (Unicode code point) may be part of a Unicode
identifier as other than the first character.
A character may be part of a Unicode identifier if and only if
one of the following statements is true:
it is a letter
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
it is a combining mark
it is a non-spacing mark
isIdentifierIgnorable returns
true for this character.
Parameters: codePoint - the character (Unicode code point) to be tested.
public static boolean
isUnicodeIdentifierStart(char ch) Determines if the specified character is permissible as the
first character in a Unicode identifier.
A character may start a Unicode identifier if and only if
one of the following conditions is true:
isUnicodeIdentifierStart(int codePoint) Determines if the specified character (Unicode code point) is permissible as the
first character in a Unicode identifier.
A character may start a Unicode identifier if and only if
one of the following conditions is true:
Parameters: codePoint - the character (Unicode code point) to be tested.
public static boolean
isUpperCase(char ch) Determines if the specified character is an uppercase character.
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'
isUpperCase(int codePoint) Determines if the specified character (Unicode code point) is an uppercase character.
A character is uppercase if its general category type, provided by
Character.getType(int) 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.
Parameters: codePoint - the character (Unicode code point) to be tested.
public 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.
public static boolean
isWhitespace(char ch) Determines if the specified character is white space according to Java.
A character is a Java whitespace character if and only if it satisfies
one of the following criteria:
It is a Unicode space character (SPACE_SEPARATOR,
LINE_SEPARATOR, or PARAGRAPH_SEPARATOR)
but is not also a non-breaking space ('\u00A0',
'\u2007', '\u202F').
isWhitespace(int codePoint) Determines if the specified character (Unicode code point) is
white space according to Java.
public 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.
public 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.
reverseBytes(char ch) Returns the value obtained by reversing the order of the bytes in the
specified char value.
public static int
toChars(int codePoint, char[] dst, int dstIndex) Converts the specified character (Unicode code point) to its
UTF-16 representation.
public static char[]
toChars(int codePoint) Converts the specified character (Unicode code point) to its
UTF-16 representation stored in a char array.
public static int
toCodePoint(char high, char low) Converts the specified surrogate pair to its supplementary code
point value.
public static char
toLowerCase(char ch) Converts the character argument to lowercase using case
mapping information from the UnicodeData file.
Note that
Character.isLowerCase(Character.toLowerCase(ch))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
toLowerCase(int codePoint) Converts the character (Unicode code point) argument to
lowercase using case mapping information from the UnicodeData
file.
Note that
Character.isLowerCase(Character.toLowerCase(codePoint))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
toString(char c) Returns a String object representing the
specified char.
static void
toSurrogates(int codePoint, char[] dst, int index)
public static char
toTitleCase(char ch) Converts the character argument to titlecase using case mapping
information from the UnicodeData file.
public static int
toTitleCase(int codePoint) Converts the character (Unicode code point) argument to titlecase using case mapping
information from the UnicodeData file.
public static char
toUpperCase(char ch) Converts the character argument to uppercase using case mapping
information from the UnicodeData file.
Note that
Character.isUpperCase(Character.toUpperCase(ch))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
toUpperCase(int codePoint) Converts the character (Unicode code point) argument to
uppercase using case mapping information from the UnicodeData
file.
Note that
Character.isUpperCase(Character.toUpperCase(codePoint))
does not always return true for some ranges of
characters, particularly those that are symbols or ideographs.
toUpperCaseCharArray(int codePoint) Converts the character (Unicode code point) argument to uppercase using case
mapping information from the SpecialCasing file in the Unicode
specification.
static int
toUpperCaseEx(int codePoint) Converts the character (Unicode code point) argument to uppercase using
information from the UnicodeData file.
Parameters: codePoint - the character (Unicode code point) to be converted.
valueOf(char c) Returns a Character instance representing the specified
char value.
If a new Character instance is not required, this method
should generally be used in preference to the constructor
Character.Character(char) , as this method is likely to yield
significantly better space and time performance by caching
frequently requested values.
Parameters: c - a char value.
Field Detail
COMBINING_SPACING_MARK
final public static byte COMBINING_SPACING_MARK(Code)
General category "Mc" in the Unicode specification.
since: 1.1
CONNECTOR_PUNCTUATION
final public static byte CONNECTOR_PUNCTUATION(Code)
General category "Pc" in the Unicode specification.
since: 1.1
Constructs a newly allocated Character object that
represents the specified char value.
Parameters: value - the value to be represented by the Character object.
Determines the number of 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
Character.isValidCodePoint(int) isValidCodePoint if necessary.
Parameters: codePoint - the character (Unicode code point) to be tested. 2 if the character is a valid supplementary character; 1 otherwise. See Also:Character.isSupplementaryCodePoint(int) since: 1.5
Returns the code point at the given index of the
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.
Parameters: seq - a sequence of char values (Unicode codeunits) Parameters: index - the index to the char values (Unicodecode units) in seq to be converted the Unicode code point at the given index exception: NullPointerException - if seq is null. exception: IndexOutOfBoundsException - if the valueindex is negative or not less thanCharSequence.length seq.length(). since: 1.5
codePointAt
public static int codePointAt(char[] a, int index)(Code)
Returns the code point at the given index of the
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.
Parameters: a - the char array Parameters: index - the index to the char values (Unicodecode units) in the char array to be converted the Unicode code point at the given index exception: NullPointerException - if a is null. exception: IndexOutOfBoundsException - if the valueindex is negative or not less thanthe length of the char array. since: 1.5
codePointAt
public static int codePointAt(char[] a, int index, int limit)(Code)
Returns the code point at the given index of the
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.
Parameters: a - the char array Parameters: index - the index to the char values (Unicodecode units) in the char array to be converted Parameters: limit - the index after the last array element that can be used in thechar array the Unicode code point at the given index exception: NullPointerException - if a is null. exception: IndexOutOfBoundsException - if the indexargument is negative or not less than the limitargument, or if the limit argument is negative orgreater than the length of the char array. since: 1.5
codePointAtImpl
static int codePointAtImpl(char[] a, int index, int limit)(Code)
Returns the code point preceding the given index of the
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.
Parameters: seq - the CharSequence instance Parameters: index - the index following the code point that should be returned the Unicode code point value before the given index. exception: NullPointerException - if seq is null. exception: IndexOutOfBoundsException - if the indexargument is less than 1 or greater than CharSequence.length seq.length(). since: 1.5
codePointBefore
public static int codePointBefore(char[] a, int index)(Code)
Returns the code point preceding the given index of the
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.
Parameters: a - the char array Parameters: index - the index following the code point that should be returned the Unicode code point value before the given index. exception: NullPointerException - if a is null. exception: IndexOutOfBoundsException - if the indexargument is less than 1 or greater than the length of thechar array since: 1.5
codePointBefore
public static int codePointBefore(char[] a, int index, int start)(Code)
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. 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.
Parameters: a - the char array Parameters: index - the index following the code point that should be returned Parameters: start - the index of the first array element in thechar array the Unicode code point value before the given index. exception: NullPointerException - if a is null. exception: IndexOutOfBoundsException - if the indexargument is not greater than the start argument oris greater than the length of the char array, orif the start argument is negative or not less thanthe length of the char array. since: 1.5
codePointBeforeImpl
static int codePointBeforeImpl(char[] a, int index, int start)(Code)
codePointCount
public static int codePointCount(CharSequence seq, int beginIndex, int endIndex)(Code)
Returns the number of Unicode code points in the text range of
the specified char sequence. The text range begins at the
specified 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.
Parameters: seq - the char sequence Parameters: beginIndex - the index to the first char ofthe text range. Parameters: endIndex - the index after the last char ofthe text range. the number of Unicode code points in the specified textrange exception: NullPointerException - if seq is null. exception: IndexOutOfBoundsException - if thebeginIndex is negative, or endIndexis larger than the length of the given sequence, orbeginIndex is larger than endIndex. since: 1.5
codePointCount
public static int codePointCount(char[] a, int offset, int count)(Code)
Returns the number of Unicode code points in a subarray of the
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.
Parameters: a - the char array Parameters: offset - the index of the first char in thegiven char array Parameters: count - the length of the subarray in chars the number of Unicode code points in the specified subarray exception: NullPointerException - if a is null. exception: IndexOutOfBoundsException - if offset orcount is negative, or if offset +count is larger than the length of the given array. since: 1.5
codePointCountImpl
static int codePointCountImpl(char[] a, int offset, int count)(Code)
Compares two Character objects numerically.
Parameters: anotherCharacter - the Character to be compared. the value 0 if the argument Character is equal to this Character; a value less than 0 if this Character is numerically less than the Character argument; and a value greater than 0 if this Character is numerically greater than the Character argument (unsigned comparison). Note that this is strictly a numerical comparison; it is not locale-dependent. since: 1.2
Returns the numeric value of the character 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:
The method 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.
The character is one of the uppercase Latin letters
'A' through 'Z' and its code is less than
radix + 'A' - 10.
In this case, ch - 'A' + 10
is returned.
The character is one of the lowercase Latin letters
'a' through 'z' and its code is less than
radix + 'a' - 10.
In this case, ch - 'a' + 10
is returned.
public static int digit(int codePoint, int radix)(Code)
Returns the numeric value of the specified character (Unicode
code point) in the specified 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:
The method
Character.isDigit(int) isDigit(codePoint) 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.
The character is one of the uppercase Latin letters
'A' through 'Z' and its code is less than
radix + 'A' - 10.
In this case, ch - 'A' + 10
is returned.
The character is one of the lowercase Latin letters
'a' through 'z' and its code is less than
radix + 'a' - 10.
In this case, ch - 'a' + 10
is returned.
Parameters: codePoint - the character (Unicode code point) to be converted. Parameters: radix - the radix. the numeric value represented by the character in thespecified radix. See Also:java.lang.Character.forDigit(intint) See Also:java.lang.Character.isDigit(int) since: 1.5
Compares this object against the specified object.
The result is true if and only if the argument is not
null and is a Character object that
represents the same char value as this object.
Parameters: obj - the object to compare with. true if the objects are the same;false otherwise.
forDigit
public static char forDigit(int digit, int radix)(Code)
Determines the character representation for a specific digit in
the specified radix. If the value of 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.
Parameters: digit - the number to convert to a character. Parameters: radix - the radix. the char representation of the specified digitin the specified radix. See Also:java.lang.Character.MIN_RADIX See Also:java.lang.Character.MAX_RADIX See Also:java.lang.Character.digit(charint)
getDirectionality
public static byte getDirectionality(char ch)(Code)
Returns the Unicode directionality property for the given
character. Character directionality is used to calculate the
visual ordering of text. The directionality value of undefined
char values is DIRECTIONALITY_UNDEFINED.
Returns the 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
Character.getNumericValue(int) method.
Parameters: ch - the character to be converted. the numeric value of the character, as a nonnegative intvalue; -2 if the character has a numeric value that is not anonnegative integer; -1 if the character has no numeric value. See Also:java.lang.Character.forDigit(intint) See Also:java.lang.Character.isDigit(char) since: 1.1
getNumericValue
public static int getNumericValue(int codePoint)(Code)
Returns the 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.
Parameters: codePoint - the character (Unicode code point) to be converted. the numeric value of the character, as a nonnegative intvalue; -2 if the character has a numeric value that is not anonnegative integer; -1 if the character has no numeric value. See Also:java.lang.Character.forDigit(intint) See Also:java.lang.Character.isDigit(int) since: 1.5
public static boolean isDigit(int codePoint)(Code)
Determines if the specified character (Unicode code point) is a digit.
A character is a digit if its general category type, provided
by
Character.getType(int) 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
Many other character ranges contain digits as well.
Parameters: codePoint - the character (Unicode code point) to be tested. true if the character is a digit;false otherwise. See Also:java.lang.Character.forDigit(intint) See Also:java.lang.Character.getType(int) since: 1.5
isHighSurrogate
public static boolean isHighSurrogate(char ch)(Code)
Determines if the given 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.
Determines if the specified character is an ISO control
character. A character is considered to be an ISO control
character if its code is in the range '\u0000'
through '\u001F' or in the range
'\u007F' through '\u009F'.
public static boolean isISOControl(int codePoint)(Code)
Determines if the referenced character (Unicode code point) is an ISO control
character. A character is considered to be an ISO control
character if its code is in the range '\u0000'
through '\u001F' or in the range
'\u007F' through '\u009F'.
Parameters: codePoint - the character (Unicode code point) to be tested. true if the character is an ISO control character;false otherwise. See Also:java.lang.Character.isSpaceChar(int) See Also:java.lang.Character.isWhitespace(int) since: 1.5
isIdentifierIgnorable
public static boolean isIdentifierIgnorable(char ch)(Code)
Determines if the specified character should be regarded as
an ignorable character in a Java identifier or a Unicode identifier.
The following Unicode characters are ignorable in a Java identifier
or a Unicode identifier:
ISO control characters that are not whitespace
'\u0000' through '\u0008'
'\u000E' through '\u001B'
'\u007F' through '\u009F'
all characters that have the FORMAT general
category value
public static boolean isLetter(int codePoint)(Code)
Determines if the specified character (Unicode code point) is a letter.
A character is considered to be a letter if its general
category type, provided by
Character.getType(int) getType(codePoint) ,
is any of the following:
public static boolean isLowSurrogate(char ch)(Code)
Determines if the given 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
ch >= '\uDC00' && ch <= '\uDFFF'
is true.
Parameters: ch - the char value to be tested. true if the char valueis between '\uDC00' and '\uDFFF' inclusive;false otherwise. See Also:java.lang.Character.isHighSurrogate(char) since: 1.5
Determines if the specified character is a lowercase character.
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'
public static boolean isLowerCase(int codePoint)(Code)
Determines if the specified character (Unicode code point) is a
lowercase character.
A character is lowercase if its general category type, provided
by
Character.getType 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'
Determines whether the character is mirrored according to the
Unicode specification. Mirrored characters should have their
glyphs horizontally mirrored when displayed in text that is
right-to-left. For example, '\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
Character.isMirrored(int) method.
Parameters: ch - char for which the mirrored property is requested true if the char is mirrored, falseif the char is not mirrored or is not defined. since: 1.4
isMirrored
public static boolean isMirrored(int codePoint)(Code)
Determines whether the specified character (Unicode code point)
is mirrored according to the Unicode specification. Mirrored
characters should have their glyphs horizontally mirrored when
displayed in text that is right-to-left. For example,
'\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.
Parameters: codePoint - the character (Unicode code point) to be tested. true if the character is mirrored, falseif the character is not mirrored or is not defined. since: 1.5
Determines if the specified character is a Unicode space character.
A character is considered to be a space character if and only if
it is specified to be a space character by the Unicode standard. This
method returns true if the character's general category type is any of
the following:
public static boolean isSpaceChar(int codePoint)(Code)
Determines if the specified character (Unicode code point) is a
Unicode space character. A character is considered to be a
space character if and only if it is specified to be a space
character by the Unicode standard. This method returns true if
the character's general category type is any of the following:
Parameters: codePoint - the character (Unicode code point) to be tested. true if the character is a space character; false otherwise. See Also:java.lang.Character.isWhitespace(int) since: 1.5
isSupplementaryCodePoint
public static boolean isSupplementaryCodePoint(int codePoint)(Code)
Determines whether the specified character (Unicode code point)
is in the supplementary character range. The method call is
equivalent to the expression:
codePoint >= 0x10000 && codePoint <= 0x10FFFF
Parameters: codePoint - the character (Unicode code point) to be tested true if the specified character is in the Unicodesupplementary character range; false otherwise. since: 1.5
isSurrogatePair
public static boolean isSurrogatePair(char high, char low)(Code)
Determines whether the specified pair of char
values is a valid surrogate pair. This method is equivalent to
the expression:
isHighSurrogate(high) && isLowSurrogate(low)
Parameters: high - the high-surrogate code value to be tested Parameters: low - the low-surrogate code value to be tested true if the specified high andlow-surrogate code values represent a valid surrogate pair;false otherwise. since: 1.5
Determines if the specified character is a titlecase character.
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
public static boolean isTitleCase(int codePoint)(Code)
Determines if the specified character (Unicode code point) is a titlecase character.
A character is a titlecase character if its general
category type, provided by
Character.getType(int) 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
Determines if the specified character is an uppercase character.
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'
public static boolean isUpperCase(int codePoint)(Code)
Determines if the specified character (Unicode code point) is an uppercase character.
A character is uppercase if its general category type, provided by
Character.getType(int) 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'
public static boolean isValidCodePoint(int codePoint)(Code)
Determines whether the specified code point is a valid Unicode
code point value in the range of 0x0000 to
0x10FFFF inclusive. This method is equivalent to
the expression:
codePoint >= 0x0000 && codePoint <= 0x10FFFF
Parameters: codePoint - the Unicode code point to be tested true if the specified code point valueis a valid code point value;false otherwise. since: 1.5
Determines if the specified character is white space according to Java.
A character is a Java whitespace character if and only if it satisfies
one of the following criteria:
It is a Unicode space character (SPACE_SEPARATOR,
LINE_SEPARATOR, or PARAGRAPH_SEPARATOR)
but is not also a non-breaking space ('\u00A0',
'\u2007', '\u202F').
public static boolean isWhitespace(int codePoint)(Code)
Determines if the specified character (Unicode code point) is
white space according to Java. A character is a Java
whitespace character if and only if it satisfies one of the
following criteria:
Parameters: codePoint - the character (Unicode code point) to be tested. true if the character is a Java whitespacecharacter; false otherwise. See Also:java.lang.Character.isSpaceChar(int) since: 1.5
offsetByCodePoints
public static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset)(Code)
Returns the index within the given char sequence that is offset
from the given index by codePointOffset
code points. Unpaired surrogates within the text range given by
index and codePointOffset count as
one code point each.
Parameters: seq - the char sequence Parameters: index - the index to be offset Parameters: codePointOffset - the offset in code points the index within the char sequence exception: NullPointerException - if seq is null. exception: IndexOutOfBoundsException - if indexis negative or larger then the length of the char sequence,or if codePointOffset is positive and thesubsequence starting with index has fewer thancodePointOffset code points, or ifcodePointOffset is negative and the subsequencebefore index has fewer than the absolute valueof codePointOffset code points. since: 1.5
offsetByCodePoints
public static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)(Code)
Returns the index within the given 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.
Parameters: a - the char array Parameters: start - the index of the first char of thesubarray Parameters: count - the length of the subarray in chars Parameters: index - the index to be offset Parameters: codePointOffset - the offset in code points the index within the subarray exception: NullPointerException - if a is null. exception: IndexOutOfBoundsException - if start or count is negative,or if start + count is larger than the length ofthe given array,or if index is less than start orlarger then start + count,or if codePointOffset is positive and the text rangestarting with index and ending with start+ count - 1 has fewer than codePointOffset codepoints,or if codePointOffset is negative and the text rangestarting with start and ending with index- 1 has fewer than the absolute value ofcodePointOffset code points. since: 1.5
offsetByCodePointsImpl
static int offsetByCodePointsImpl(char[] a, int start, int count, int index, int codePointOffset)(Code)
Returns the value obtained by reversing the order of the bytes in the
specified char value.
the value obtained by reversing (or, equivalently, swapping)the bytes in the specified char value. since: 1.5
toChars
public static int toChars(int codePoint, char[] dst, int dstIndex)(Code)
Converts the specified character (Unicode code point) to its
UTF-16 representation. If the specified code point is a BMP
(Basic Multilingual Plane or Plane 0) value, the same value is
stored in 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.
Parameters: codePoint - the character (Unicode code point) to be converted. Parameters: dst - an array of char in which thecodePoint's UTF-16 value is stored. Parameters: dstIndex - the start index into the dstarray where the converted value is stored. 1 if the code point is a BMP code point, 2 if thecode point is a supplementary code point. exception: IllegalArgumentException - if the specifiedcodePoint is not a valid Unicode code point. exception: NullPointerException - if the specified dst is null. exception: IndexOutOfBoundsException - if dstIndexis negative or not less than dst.length, or ifdst at dstIndex doesn't have enougharray element(s) to store the resulting charvalue(s). (If dstIndex is equal todst.length-1 and the specifiedcodePoint is a supplementary character, thehigh-surrogate value is not stored indst[dstIndex].) since: 1.5
Converts the specified character (Unicode code point) to its
UTF-16 representation stored in a 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.
Parameters: codePoint - a Unicode code point a char array havingcodePoint's UTF-16 representation. exception: IllegalArgumentException - if the specifiedcodePoint is not a valid Unicode code point. since: 1.5
toCodePoint
public static int toCodePoint(char high, char low)(Code)
Converts the specified surrogate pair to its supplementary code
point value. This method does not validate the specified
surrogate pair. The caller must validate it using
Character.isSurrogatePair(char,char) isSurrogatePair if necessary.
Parameters: high - the high-surrogate code unit Parameters: low - the low-surrogate code unit the supplementary code point composed from thespecified surrogate pair. since: 1.5
Converts the character argument to lowercase using case
mapping information from the UnicodeData file.
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,
java.lang.String.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.
public static int toLowerCase(int codePoint)(Code)
Converts the character (Unicode code point) argument to
lowercase using case mapping information from the UnicodeData
file.
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,
java.lang.String.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.
Parameters: codePoint - the character (Unicode code point) to be converted. the lowercase equivalent of the character (Unicode codepoint), if any; otherwise, the character itself. See Also:java.lang.Character.isLowerCase(int) See Also:java.lang.String.toLowerCase since: 1.5
Returns a 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.
a string representation of this object.
Returns a String object representing the
specified char. The result is a string of length
1 consisting solely of the specified char.
Parameters: c - the char to be converted the string representation of the specified char since: 1.4
toSurrogates
static void toSurrogates(int codePoint, char[] dst, int index)(Code)
Converts the character argument to titlecase using case mapping
information from the UnicodeData file. If a character has no
explicit titlecase mapping and is not itself a titlecase char
according to UnicodeData, then the uppercase mapping is
returned as an equivalent titlecase mapping. If the
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.
public static int toTitleCase(int codePoint)(Code)
Converts the character (Unicode code point) argument to titlecase using case mapping
information from the UnicodeData file. If a character has no
explicit titlecase mapping and is not itself a titlecase char
according to UnicodeData, then the uppercase mapping is
returned as an equivalent titlecase mapping. If the
character argument is already a titlecase
character, the same character value will be
returned.
Note that
Character.isTitleCase(Character.toTitleCase(codePoint))
does not always return true for some ranges of
characters.
Parameters: codePoint - the character (Unicode code point) to be converted. the titlecase equivalent of the character, if any;otherwise, the character itself. See Also:java.lang.Character.isTitleCase(int) See Also:java.lang.Character.toLowerCase(int) See Also:java.lang.Character.toUpperCase(int) since: 1.5
Converts the character argument to uppercase using case mapping
information from the UnicodeData file.
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,
java.lang.String.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.
public static int toUpperCase(int codePoint)(Code)
Converts the character (Unicode code point) argument to
uppercase using case mapping information from the UnicodeData
file.
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,
java.lang.String.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.
Parameters: codePoint - the character (Unicode code point) to be converted. the uppercase equivalent of the character, if any;otherwise, the character itself. See Also:java.lang.Character.isUpperCase(int) See Also:java.lang.String.toUpperCase since: 1.5
Converts the character (Unicode code point) argument to uppercase using case
mapping information from the SpecialCasing file in the Unicode
specification. If a character has no explicit uppercase
mapping, then the char itself is returned in the
char[].
Parameters: codePoint - the character (Unicode code point) to be converted. a char[] with the uppercased character. since: 1.4
Returns a Character instance representing the specified
char value.
If a new Character instance is not required, this method
should generally be used in preference to the constructor
Character.Character(char) , as this method is likely to yield
significantly better space and time performance by caching
frequently requested values.
Parameters: c - a char value. a Character instance representing c. since: 1.5