This class provides an immutable
object wrapper around the primitive char data
type. charValue( ) returns the
char value of a Character
object. The compareTo(
) method
implements the Comparable interface so that
Character objects can be ordered and sorted. The
static methods are the most interesting thing about this class,
however: they categorize char values based on the
categories defined by the Unicode standard. (Some
of the methods are only useful if you have a detailed understanding
of that standard.) Static methods beginning with
"is" test
whether
a character is in a
given category. isDigit(
) , isLetter( ),
isWhitespace( ), isUpperCase( )
and isLowerCase( ) are some of the most useful.
Note that these methods work for any Unicode character, not just with
the familiar Latin letters and Arabic numbers of the ASCII character
set. getType( ) returns
a constant that identifies the category of a character.
getdirectionality(
) returns a separate
DIRECTIONALITY_ constant that specifies the
"directionality category" of a
character.
In addition to testing the category of a character, this class also
defines static methods for converting characters.
toUpperCase( )
returns the uppercase equivalent of the
specified character (or returns the character itself if the character
is uppercase or has no uppercase equivalent). toLowerCase(
) converts instead to lowercase. digit( )
returns the integer equivalent of a given character in a given radix
(or base; for example, use 16 for hexadecimal). It works with any
Unicode digit character, and also (for sufficiently large radix
values) the ASCII letters a-z and A-Z. forDigit(
) returns the ASCII character that
corresponds to the specified value (0-35) for the specified radix.
getNumericValue(
) is similar, but also works with any
Unicode character including those, such as Roman numerals, that
represent numbers but are not decimal digits. Finally, the static
toString( )
method returns a String
of length 1 that contains the specified char
value.
Java 5.0
introduces many new methods to this class
to accommodate
Unicode supplementary characters that use
21 bits and do not fit in a single
char value. The two representations for
these supplementary characters are as an int
codepoint in the range 0 through 0x10ffff, or as a sequence of two
char values known as a
"surrogate pair."
The first char of such a pair should fall in the
"high surrogate" range and the
second char should fall in the
"low surrogate" range.
toChars( ) converts an int
codepoint into one or two char values.
toCodePoint( )
, codePointAt( ),
and codePointBefore( ) convert one or two
char values into the corresponding
int value. codePointCount(
) returns
the number of characters in a char array or
CharSequence, counting surrogate pairs as a single
supplementary character. offsetByCodePoints(
) tells
you how many char indexes to advance in a run of
text if you want to skip over the specified number of code points.
Finally, the various character type testing and case conversion
methods such as isWhitespace( ) and
toUpperCase( ) are available in new versions that
take an int codepoint argument instead of a single
char argument.
public final class Character implements Serializable, Comparable<Character> {
// Public Constructors
public Character(char value);
// Public Constants
1.1 public static final byte COMBINING_SPACING_MARK; =8
1.1 public static final byte CONNECTOR_PUNCTUATION; =23
1.1 public static final byte CONTROL; =15
1.1 public static final byte CURRENCY_SYMBOL; =26
1.1 public static final byte DASH_PUNCTUATION; =20
1.1 public static final byte DECIMAL_DIGIT_NUMBER; =9
1.4 public static final byte DIRECTIONALITY_ARABIC_NUMBER; =6
1.4 public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL; =9
1.4 public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR; =7
1.4 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER; =3
1.4 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR; =4
1.4 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR; =5
1.4 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT; =0
1.4 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING; =14
1.4 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE; =15
1.4 public static final byte DIRECTIONALITY_NONSPACING_MARK; =8
1.4 public static final byte DIRECTIONALITY_OTHER_NEUTRALS; =13
1.4 public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR; =10
1.4 public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT; =18
1.4 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT; =1
1.4 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; =2
1.4 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING; =16
1.4 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE; =17
1.4 public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR; =11
1.4 public static final byte DIRECTIONALITY_UNDEFINED; =-1
1.4 public static final byte DIRECTIONALITY_WHITESPACE; =12
1.1 public static final byte ENCLOSING_MARK; =7
1.1 public static final byte END_PUNCTUATION; =22
1.4 public static final byte FINAL_QUOTE_PUNCTUATION; =30
1.1 public static final byte FORMAT; =16
1.4 public static final byte INITIAL_QUOTE_PUNCTUATION; =29
1.1 public static final byte LETTER_NUMBER; =10
1.1 public static final byte LINE_SEPARATOR; =13
1.1 public static final byte LOWERCASE_LETTER; =2
1.1 public static final byte MATH_SYMBOL; =25
5.0 public static final int MAX_CODE_POINT; =1114111
5.0 public static final char MAX_HIGH_SURROGATE; = \uDBFF
5.0 public static final char MAX_LOW_SURROGATE; = \uDFFF
public static final int MAX_RADIX; =36
5.0 public static final char MAX_SURROGATE; = \uDFFF
public static final char MAX_VALUE; = \uFFFF
5.0 public static final int MIN_CODE_POINT; =0
5.0 public static final char MIN_HIGH_SURROGATE; = \uD800
5.0 public static final char MIN_LOW_SURROGATE; = \uDC00
public static final int MIN_RADIX; =2
5.0 public static final int MIN_SUPPLEMENTARY_CODE_POINT; =65536
5.0 public static final char MIN_SURROGATE; = \uD800
public static final char MIN_VALUE; = \0
1.1 public static final byte MODIFIER_LETTER; =4
1.1 public static final byte MODIFIER_SYMBOL; =27
1.1 public static final byte NON_SPACING_MARK; =6
1.1 public static final byte OTHER_LETTER; =5
1.1 public static final byte OTHER_NUMBER; =11
1.1 public static final byte OTHER_PUNCTUATION; =24
1.1 public static final byte OTHER_SYMBOL; =28
1.1 public static final byte PARAGRAPH_SEPARATOR; =14
1.1 public static final byte PRIVATE_USE; =18
5.0 public static final int SIZE; =16
1.1 public static final byte SPACE_SEPARATOR; =12
1.1 public static final byte START_PUNCTUATION; =21
1.1 public static final byte SURROGATE; =19
1.1 public static final byte TITLECASE_LETTER; =3
1.1 public static final Class<Character> TYPE;
1.1 public static final byte UNASSIGNED; =0
1.1 public static final byte UPPERCASE_LETTER; =1
// Nested Types
1.2 public static class Subset;
1.2 public static final class UnicodeBlock extends Character.Subset;
// Public Class Methods
5.0 public static int charCount(int codePoint);
5.0 public static int codePointAt(char[ ] a, int index);
5.0 public static int codePointAt(CharSequence seq, int index);
5.0 public static int codePointAt(char[ ] a, int index, int limit);
5.0 public static int codePointBefore(CharSequence seq, int index);
5.0 public static int codePointBefore(char[ ] a, int index);
5.0 public static int codePointBefore(char[ ] a, int index, int start);
5.0 public static int codePointCount(char[ ] a, int offset, int count);
5.0 public static int codePointCount(CharSequence seq, int beginIndex, int endIndex);
5.0 public static int digit(int codePoint, int radix);
public static int digit(char ch, int radix);
public static char forDigit(int digit, int radix);
1.4 public static byte getDirectionality(char ch);
5.0 public static byte getDirectionality(int codePoint);
1.1 public static int getNumericValue(char ch);
5.0 public static int getNumericValue(int codePoint);
1.1 public static int getType(char ch);
5.0 public static int getType(int codePoint);
5.0 public static boolean isDefined(int codePoint);
public static boolean isDefined(char ch);
5.0 public static boolean isDigit(int codePoint);
public static boolean isDigit(char ch);
5.0 public static boolean isHighSurrogate(char ch);
5.0 public static boolean isIdentifierIgnorable(int codePoint);
1.1 public static boolean isIdentifierIgnorable(char ch);
1.1 public static boolean isISOControl(char ch);
5.0 public static boolean isISOControl(int codePoint);
1.1 public static boolean isJavaIdentifierPart(char ch);
5.0 public static boolean isJavaIdentifierPart(int codePoint);
1.1 public static boolean isJavaIdentifierStart(char ch);
5.0 public static boolean isJavaIdentifierStart(int codePoint);
public static boolean isLetter(char ch);
5.0 public static boolean isLetter(int codePoint);
public static boolean isLetterOrDigit(char ch);
5.0 public static boolean isLetterOrDigit(int codePoint);
5.0 public static boolean isLowerCase(int codePoint);
public static boolean isLowerCase(char ch);
5.0 public static boolean isLowSurrogate(char ch);
5.0 public static boolean isMirrored(int codePoint);
1.4 public static boolean isMirrored(char ch);
5.0 public static boolean isSpaceChar(int codePoint);
1.1 public static boolean isSpaceChar(char ch);
5.0 public static boolean isSupplementaryCodePoint(int codePoint);
5.0 public static boolean isSurrogatePair(char high, char low);
public static boolean isTitleCase(char ch);
5.0 public static boolean isTitleCase(int codePoint);
1.1 public static boolean isUnicodeIdentifierPart(char ch);
5.0 public static boolean isUnicodeIdentifierPart(int codePoint);
5.0 public static boolean isUnicodeIdentifierStart(int codePoint);
1.1 public static boolean isUnicodeIdentifierStart(char ch);
public static boolean isUpperCase(char ch);
5.0 public static boolean isUpperCase(int codePoint);
5.0 public static boolean isValidCodePoint(int codePoint);
5.0 public static boolean isWhitespace(int codePoint);
1.1 public static boolean isWhitespace(char ch);
5.0 public static int offsetByCodePoints(CharSequence seq, int index,
int codePointOffset);
5.0 public static int offsetByCodePoints(char[ ] a, int start, int count,
int index, int codePointOffset);
5.0 public static char reverseBytes(char ch);
5.0 public static char[ ] toChars(int codePoint);
5.0 public static int toChars(int codePoint, char[ ] dst, int dstIndex);
5.0 public static int toCodePoint(char high, char low);
public static char toLowerCase(char ch);
5.0 public static int toLowerCase(int codePoint);
1.4 public static String toString(char c);
public static char toTitleCase(char ch);
5.0 public static int toTitleCase(int codePoint);
public static char toUpperCase(char ch);
5.0 public static int toUpperCase(int codePoint);
5.0 public static Character valueOf(char c);
// Public Instance Methods
public char charValue( );
// Methods Implementing Comparable
1.2 public int compareTo(Character anotherCharacter);
// Public Methods Overriding Object
public boolean equals(Object obj);
public int hashCode( );
public String toString( );
// Deprecated Public Methods
# public static boolean isJavaLetter(char ch);
# public static boolean isJavaLetterOrDigit(char ch);
# public static boolean isSpace(char ch);
}