1 *java.lang.Character* *Character* The Character class wraps a value of the primi
3 public final class Character
4 extends |java.lang.Object|
5 implements |java.io.Serializable|
8 |java.lang.Character_Description|
9 |java.lang.Character_Fields|
10 |java.lang.Character_Constructors|
11 |java.lang.Character_Methods|
13 ================================================================================
15 *java.lang.Character_Fields*
16 |byte_java.lang.Character.COMBINING_SPACING_MARK|
17 |byte_java.lang.Character.CONNECTOR_PUNCTUATION|
18 |byte_java.lang.Character.CONTROL|
19 |byte_java.lang.Character.CURRENCY_SYMBOL|
20 |byte_java.lang.Character.DASH_PUNCTUATION|
21 |byte_java.lang.Character.DECIMAL_DIGIT_NUMBER|
22 |byte_java.lang.Character.DIRECTIONALITY_ARABIC_NUMBER|
23 |byte_java.lang.Character.DIRECTIONALITY_BOUNDARY_NEUTRAL|
24 |byte_java.lang.Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR|
25 |byte_java.lang.Character.DIRECTIONALITY_EUROPEAN_NUMBER|
26 |byte_java.lang.Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR|
27 |byte_java.lang.Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR|
28 |byte_java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT|
29 |byte_java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING|
30 |byte_java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE|
31 |byte_java.lang.Character.DIRECTIONALITY_NONSPACING_MARK|
32 |byte_java.lang.Character.DIRECTIONALITY_OTHER_NEUTRALS|
33 |byte_java.lang.Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR|
34 |byte_java.lang.Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT|
35 |byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT|
36 |byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC|
37 |byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING|
38 |byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE|
39 |byte_java.lang.Character.DIRECTIONALITY_SEGMENT_SEPARATOR|
40 |byte_java.lang.Character.DIRECTIONALITY_UNDEFINED|
41 |byte_java.lang.Character.DIRECTIONALITY_WHITESPACE|
42 |byte_java.lang.Character.ENCLOSING_MARK|
43 |byte_java.lang.Character.END_PUNCTUATION|
44 |byte_java.lang.Character.FINAL_QUOTE_PUNCTUATION|
45 |byte_java.lang.Character.FORMAT|
46 |byte_java.lang.Character.INITIAL_QUOTE_PUNCTUATION|
47 |byte_java.lang.Character.LETTER_NUMBER|
48 |byte_java.lang.Character.LINE_SEPARATOR|
49 |byte_java.lang.Character.LOWERCASE_LETTER|
50 |byte_java.lang.Character.MATH_SYMBOL|
51 |int_java.lang.Character.MAX_CODE_POINT|
52 |char_java.lang.Character.MAX_HIGH_SURROGATE|
53 |char_java.lang.Character.MAX_LOW_SURROGATE|
54 |int_java.lang.Character.MAX_RADIX|
55 |char_java.lang.Character.MAX_SURROGATE|
56 |char_java.lang.Character.MAX_VALUE|
57 |int_java.lang.Character.MIN_CODE_POINT|
58 |char_java.lang.Character.MIN_HIGH_SURROGATE|
59 |char_java.lang.Character.MIN_LOW_SURROGATE|
60 |int_java.lang.Character.MIN_RADIX|
61 |int_java.lang.Character.MIN_SUPPLEMENTARY_CODE_POINT|
62 |char_java.lang.Character.MIN_SURROGATE|
63 |char_java.lang.Character.MIN_VALUE|
64 |byte_java.lang.Character.MODIFIER_LETTER|
65 |byte_java.lang.Character.MODIFIER_SYMBOL|
66 |byte_java.lang.Character.NON_SPACING_MARK|
67 |byte_java.lang.Character.OTHER_LETTER|
68 |byte_java.lang.Character.OTHER_NUMBER|
69 |byte_java.lang.Character.OTHER_PUNCTUATION|
70 |byte_java.lang.Character.OTHER_SYMBOL|
71 |byte_java.lang.Character.PARAGRAPH_SEPARATOR|
72 |byte_java.lang.Character.PRIVATE_USE|
73 |int_java.lang.Character.SIZE|
74 |byte_java.lang.Character.SPACE_SEPARATOR|
75 |byte_java.lang.Character.START_PUNCTUATION|
76 |byte_java.lang.Character.SURROGATE|
77 |byte_java.lang.Character.TITLECASE_LETTER|
78 |java.lang.Class<java.lang.Character>_java.lang.Character.TYPE|
79 |byte_java.lang.Character.UNASSIGNED|
80 |byte_java.lang.Character.UPPERCASE_LETTER|
82 *java.lang.Character_Constructors*
83 |java.lang.Character(char)|Constructs a newly allocated Character object that
85 *java.lang.Character_Methods*
86 |java.lang.Character.charCount(int)|Determines the number of char values needed
87 |java.lang.Character.charValue()|Returns the value of this Character object.
88 |java.lang.Character.codePointAt(char[],int)|Returns the code point at the give
89 |java.lang.Character.codePointAt(char[],int,int)|Returns the code point at the
90 |java.lang.Character.codePointAt(CharSequence,int)|Returns the code point at th
91 |java.lang.Character.codePointBefore(char[],int)|Returns the code point precedi
92 |java.lang.Character.codePointBefore(char[],int,int)|Returns the code point pre
93 |java.lang.Character.codePointBefore(CharSequence,int)|Returns the code point p
94 |java.lang.Character.codePointCount(char[],int,int)|Returns the number of Unico
95 |java.lang.Character.codePointCount(CharSequence,int,int)|Returns the number of
96 |java.lang.Character.compareTo(Character)|Compares two Character objects numeri
97 |java.lang.Character.digit(char,int)|Returns the numeric value of the character
98 |java.lang.Character.digit(int,int)|Returns the numeric value of the specified
99 |java.lang.Character.equals(Object)|Compares this object against the specified
100 |java.lang.Character.forDigit(int,int)|Determines the character representation
101 |java.lang.Character.getDirectionality(char)|Returns the Unicode directionality
102 |java.lang.Character.getDirectionality(int)|Returns the Unicode directionality
103 |java.lang.Character.getNumericValue(char)|Returns the int value that the speci
104 |java.lang.Character.getNumericValue(int)|Returns the int value that the specif
105 |java.lang.Character.getType(char)|Returns a value indicating a character's gen
106 |java.lang.Character.getType(int)|Returns a value indicating a character's gene
107 |java.lang.Character.hashCode()|Returns a hash code for this Character.
108 |java.lang.Character.isDefined(char)|Determines if a character is defined in Un
109 |java.lang.Character.isDefined(int)|Determines if a character (Unicode code poi
110 |java.lang.Character.isDigit(char)|Determines if the specified character is a d
111 |java.lang.Character.isDigit(int)|Determines if the specified character (Unicod
112 |java.lang.Character.isHighSurrogate(char)|Determines if the given char value i
113 |java.lang.Character.isIdentifierIgnorable(char)|Determines if the specified ch
114 |java.lang.Character.isIdentifierIgnorable(int)|Determines if the specified cha
115 |java.lang.Character.isISOControl(char)|Determines if the specified character i
116 |java.lang.Character.isISOControl(int)|Determines if the referenced character (
117 |java.lang.Character.isJavaIdentifierPart(char)|Determines if the specified cha
118 |java.lang.Character.isJavaIdentifierPart(int)|Determines if the character (Uni
119 |java.lang.Character.isJavaIdentifierStart(char)|Determines if the specified ch
120 |java.lang.Character.isJavaIdentifierStart(int)|Determines if the character (Un
121 |java.lang.Character.isJavaLetter(char)|Determines if the specified character i
122 |java.lang.Character.isJavaLetterOrDigit(char)|Determines if the specified char
123 |java.lang.Character.isLetter(char)|Determines if the specified character is a
124 |java.lang.Character.isLetter(int)|Determines if the specified character (Unico
125 |java.lang.Character.isLetterOrDigit(char)|Determines if the specified characte
126 |java.lang.Character.isLetterOrDigit(int)|Determines if the specified character
127 |java.lang.Character.isLowerCase(char)|Determines if the specified character is
128 |java.lang.Character.isLowerCase(int)|Determines if the specified character (Un
129 |java.lang.Character.isLowSurrogate(char)|Determines if the given char value is
130 |java.lang.Character.isMirrored(char)|Determines whether the character is mirro
131 |java.lang.Character.isMirrored(int)|Determines whether the specified character
132 |java.lang.Character.isSpace(char)|Determines if the specified character is ISO
133 |java.lang.Character.isSpaceChar(char)|Determines if the specified character is
134 |java.lang.Character.isSpaceChar(int)|Determines if the specified character (Un
135 |java.lang.Character.isSupplementaryCodePoint(int)|Determines whether the speci
136 |java.lang.Character.isSurrogatePair(char,char)|Determines whether the specifie
137 |java.lang.Character.isTitleCase(char)|Determines if the specified character is
138 |java.lang.Character.isTitleCase(int)|Determines if the specified character (Un
139 |java.lang.Character.isUnicodeIdentifierPart(char)|Determines if the specified
140 |java.lang.Character.isUnicodeIdentifierPart(int)|Determines if the specified c
141 |java.lang.Character.isUnicodeIdentifierStart(char)|Determines if the specified
142 |java.lang.Character.isUnicodeIdentifierStart(int)|Determines if the specified
143 |java.lang.Character.isUpperCase(char)|Determines if the specified character is
144 |java.lang.Character.isUpperCase(int)|Determines if the specified character (Un
145 |java.lang.Character.isValidCodePoint(int)|Determines whether the specified cod
146 |java.lang.Character.isWhitespace(char)|Determines if the specified character i
147 |java.lang.Character.isWhitespace(int)|Determines if the specified character (U
148 |java.lang.Character.offsetByCodePoints(char[],int,int,int,int)|Returns the ind
149 |java.lang.Character.offsetByCodePoints(CharSequence,int,int)|Returns the index
150 |java.lang.Character.reverseBytes(char)|Returns the value obtained by reversing
151 |java.lang.Character.toChars(int)|Converts the specified character (Unicode cod
152 |java.lang.Character.toChars(int,char[],int)|Converts the specified character (
153 |java.lang.Character.toCodePoint(char,char)|Converts the specified surrogate pa
154 |java.lang.Character.toLowerCase(char)|Converts the character argument to lower
155 |java.lang.Character.toLowerCase(int)|Converts the character (Unicode code poin
156 |java.lang.Character.toString()|Returns a String object representing this Char
157 |java.lang.Character.toString(char)|Returns a String object representing the s
158 |java.lang.Character.toTitleCase(char)|Converts the character argument to title
159 |java.lang.Character.toTitleCase(int)|Converts the character (Unicode code poin
160 |java.lang.Character.toUpperCase(char)|Converts the character argument to upper
161 |java.lang.Character.toUpperCase(int)|Converts the character (Unicode code poin
162 |java.lang.Character.valueOf(char)|Returns a Character instance representing th
164 *java.lang.Character_Description*
166 The Character class wraps a value of the primitive type char in an object. An
167 object of type Character contains a single field whose type is char.
169 In addition, this class provides several methods for determining a character's
170 category (lowercase letter, digit, etc.) and for converting characters from
171 uppercase to lowercase and vice versa.
173 Character information is based on the Unicode Standard, version 4.0.
175 The methods and data of class Character are defined by the information in the
176 UnicodeData file that is part of the Unicode Character Database maintained by
177 the Unicode Consortium. This file specifies various properties including name
178 and general category for every defined Unicode code point or character range.
180 The file and its description are available from the Unicode Consortium at:
182 http://www.unicode.org
184 Unicode Character Representations
186 The char data type (and therefore the value that a Character object
187 encapsulates) are based on the original Unicode specification, which defined
188 characters as fixed-width 16-bit entities. The Unicode standard has since been
189 changed to allow for characters whose representation requires more than 16
190 bits. The range of legal code points is now U+0000 to U+10FFFF, known as
191 Unicode scalar value. (Refer to the definition of the U+n notation in the
194 The set of characters from U+0000 to U+FFFF is sometimes referred to as the
195 Basic Multilingual Plane (BMP). Characters whose code points are greater than
196 U+FFFF are called supplementary characters. The Java 2 platform uses the UTF-16
197 representation in char arrays and in the String and StringBuffer classes. In
198 this representation, supplementary characters are represented as a pair of char
199 values, the first from the high-surrogates range, (uD800-uDBFF), the second
200 from the low-surrogates range (uDC00-uDFFF).
202 A char value, therefore, represents Basic Multilingual Plane (BMP) code points,
203 including the surrogate code points, or code units of the UTF-16 encoding. An
204 int value represents all Unicode code points, including supplementary code
205 points. The lower (least significant) 21 bits of int are used to represent
206 Unicode code points and the upper (most significant) 11 bits must be zero.
207 Unless otherwise specified, the behavior with respect to supplementary
208 characters and surrogate char values is as follows:
210 The methods that only accept a char value cannot support supplementary
211 characters. They treat char values from the surrogate ranges as undefined
212 characters. For example, Character.isLetter('uD840') returns false, even though
213 this specific value if followed by any low-surrogate value in a string would
216 The methods that accept an int value support all Unicode characters, including
217 supplementary characters. For example, Character.isLetter(0x2F81A) returns true
218 because the code point value represents a letter (a CJK ideograph).
220 In the Java SE API documentation, Unicode code point is used for character
221 values in the range between U+0000 and U+10FFFF, and Unicode code unit is used
222 for 16-bit char values that are code units of the UTF-16 encoding. For more
223 information on Unicode terminology, refer to the Unicode Glossary.
227 *byte_java.lang.Character.COMBINING_SPACING_MARK*
229 General category "Mc" in the Unicode specification.
232 *byte_java.lang.Character.CONNECTOR_PUNCTUATION*
234 General category "Pc" in the Unicode specification.
237 *byte_java.lang.Character.CONTROL*
239 General category "Cc" in the Unicode specification.
242 *byte_java.lang.Character.CURRENCY_SYMBOL*
244 General category "Sc" in the Unicode specification.
247 *byte_java.lang.Character.DASH_PUNCTUATION*
249 General category "Pd" in the Unicode specification.
252 *byte_java.lang.Character.DECIMAL_DIGIT_NUMBER*
254 General category "Nd" in the Unicode specification.
257 *byte_java.lang.Character.DIRECTIONALITY_ARABIC_NUMBER*
259 Weak bidirectional character type "AN" in the Unicode specification.
262 *byte_java.lang.Character.DIRECTIONALITY_BOUNDARY_NEUTRAL*
264 Weak bidirectional character type "BN" in the Unicode specification.
267 *byte_java.lang.Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR*
269 Weak bidirectional character type "CS" in the Unicode specification.
272 *byte_java.lang.Character.DIRECTIONALITY_EUROPEAN_NUMBER*
274 Weak bidirectional character type "EN" in the Unicode specification.
277 *byte_java.lang.Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR*
279 Weak bidirectional character type "ES" in the Unicode specification.
282 *byte_java.lang.Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR*
284 Weak bidirectional character type "ET" in the Unicode specification.
287 *byte_java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT*
289 Strong bidirectional character type "L" in the Unicode specification.
292 *byte_java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING*
294 Strong bidirectional character type "LRE" in the Unicode specification.
297 *byte_java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE*
299 Strong bidirectional character type "LRO" in the Unicode specification.
302 *byte_java.lang.Character.DIRECTIONALITY_NONSPACING_MARK*
304 Weak bidirectional character type "NSM" in the Unicode specification.
307 *byte_java.lang.Character.DIRECTIONALITY_OTHER_NEUTRALS*
309 Neutral bidirectional character type "ON" in the Unicode specification.
312 *byte_java.lang.Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR*
314 Neutral bidirectional character type "B" in the Unicode specification.
317 *byte_java.lang.Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT*
319 Weak bidirectional character type "PDF" in the Unicode specification.
322 *byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT*
324 Strong bidirectional character type "R" in the Unicode specification.
327 *byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC*
329 Strong bidirectional character type "AL" in the Unicode specification.
332 *byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING*
334 Strong bidirectional character type "RLE" in the Unicode specification.
337 *byte_java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE*
339 Strong bidirectional character type "RLO" in the Unicode specification.
342 *byte_java.lang.Character.DIRECTIONALITY_SEGMENT_SEPARATOR*
344 Neutral bidirectional character type "S" in the Unicode specification.
347 *byte_java.lang.Character.DIRECTIONALITY_UNDEFINED*
349 Undefined bidirectional character type. Undefined char values have undefined
350 directionality in the Unicode specification.
353 *byte_java.lang.Character.DIRECTIONALITY_WHITESPACE*
355 Neutral bidirectional character type "WS" in the Unicode specification.
358 *byte_java.lang.Character.ENCLOSING_MARK*
360 General category "Me" in the Unicode specification.
363 *byte_java.lang.Character.END_PUNCTUATION*
365 General category "Pe" in the Unicode specification.
368 *byte_java.lang.Character.FINAL_QUOTE_PUNCTUATION*
370 General category "Pf" in the Unicode specification.
373 *byte_java.lang.Character.FORMAT*
375 General category "Cf" in the Unicode specification.
378 *byte_java.lang.Character.INITIAL_QUOTE_PUNCTUATION*
380 General category "Pi" in the Unicode specification.
383 *byte_java.lang.Character.LETTER_NUMBER*
385 General category "Nl" in the Unicode specification.
388 *byte_java.lang.Character.LINE_SEPARATOR*
390 General category "Zl" in the Unicode specification.
393 *byte_java.lang.Character.LOWERCASE_LETTER*
395 General category "Ll" in the Unicode specification.
398 *byte_java.lang.Character.MATH_SYMBOL*
400 General category "Sm" in the Unicode specification.
403 *int_java.lang.Character.MAX_CODE_POINT*
405 The maximum value of a Unicode code point.
408 *char_java.lang.Character.MAX_HIGH_SURROGATE*
410 The maximum value of a Unicode high-surrogate code unit in the UTF-16 encoding.
411 A high-surrogate is also known as a leading-surrogate.
414 *char_java.lang.Character.MAX_LOW_SURROGATE*
416 The maximum value of a Unicode low-surrogate code unit in the UTF-16 encoding.
417 A low-surrogate is also known as a trailing-surrogate.
420 *int_java.lang.Character.MAX_RADIX*
422 The maximum radix available for conversion to and from strings. The constant
423 value of this field is the largest value permitted for the radix argument in
424 radix-conversion methods such as the digit method, the forDigit method, and the
425 toString method of class Integer.
428 *char_java.lang.Character.MAX_SURROGATE*
430 The maximum value of a Unicode surrogate code unit in the UTF-16 encoding.
433 *char_java.lang.Character.MAX_VALUE*
435 The constant value of this field is the largest value of type char, 'uFFFF'.
438 *int_java.lang.Character.MIN_CODE_POINT*
440 The minimum value of a Unicode code point.
443 *char_java.lang.Character.MIN_HIGH_SURROGATE*
445 The minimum value of a Unicode high-surrogate code unit in the UTF-16 encoding.
446 A high-surrogate is also known as a leading-surrogate.
449 *char_java.lang.Character.MIN_LOW_SURROGATE*
451 The minimum value of a Unicode low-surrogate code unit in the UTF-16 encoding.
452 A low-surrogate is also known as a trailing-surrogate.
455 *int_java.lang.Character.MIN_RADIX*
457 The minimum radix available for conversion to and from strings. The constant
458 value of this field is the smallest value permitted for the radix argument in
459 radix-conversion methods such as the digit method, the forDigit method, and the
460 toString method of class Integer.
463 *int_java.lang.Character.MIN_SUPPLEMENTARY_CODE_POINT*
465 The minimum value of a supplementary code point.
468 *char_java.lang.Character.MIN_SURROGATE*
470 The minimum value of a Unicode surrogate code unit in the UTF-16 encoding.
473 *char_java.lang.Character.MIN_VALUE*
475 The constant value of this field is the smallest value of type char, 'u0000'.
478 *byte_java.lang.Character.MODIFIER_LETTER*
480 General category "Lm" in the Unicode specification.
483 *byte_java.lang.Character.MODIFIER_SYMBOL*
485 General category "Sk" in the Unicode specification.
488 *byte_java.lang.Character.NON_SPACING_MARK*
490 General category "Mn" in the Unicode specification.
493 *byte_java.lang.Character.OTHER_LETTER*
495 General category "Lo" in the Unicode specification.
498 *byte_java.lang.Character.OTHER_NUMBER*
500 General category "No" in the Unicode specification.
503 *byte_java.lang.Character.OTHER_PUNCTUATION*
505 General category "Po" in the Unicode specification.
508 *byte_java.lang.Character.OTHER_SYMBOL*
510 General category "So" in the Unicode specification.
513 *byte_java.lang.Character.PARAGRAPH_SEPARATOR*
515 General category "Zp" in the Unicode specification.
518 *byte_java.lang.Character.PRIVATE_USE*
520 General category "Co" in the Unicode specification.
523 *int_java.lang.Character.SIZE*
525 The number of bits used to represent a char value in unsigned binary form.
528 *byte_java.lang.Character.SPACE_SEPARATOR*
530 General category "Zs" in the Unicode specification.
533 *byte_java.lang.Character.START_PUNCTUATION*
535 General category "Ps" in the Unicode specification.
538 *byte_java.lang.Character.SURROGATE*
540 General category "Cs" in the Unicode specification.
543 *byte_java.lang.Character.TITLECASE_LETTER*
545 General category "Lt" in the Unicode specification.
548 *java.lang.Class<java.lang.Character>_java.lang.Character.TYPE*
550 The Class instance representing the primitive type char.
553 *byte_java.lang.Character.UNASSIGNED*
555 General category "Cn" in the Unicode specification.
558 *byte_java.lang.Character.UPPERCASE_LETTER*
560 General category "Lu" in the Unicode specification.
564 *java.lang.Character(char)*
566 public Character(char value)
568 Constructs a newly allocated Character object that represents the specified
571 value - the value to be represented by the Character object.
573 *java.lang.Character.charCount(int)*
575 public static int charCount(int codePoint)
577 Determines the number of char values needed to represent the specified
578 character (Unicode code point). If the specified character is equal to or
579 greater than 0x10000, then the method returns 2. Otherwise, the method returns
582 This method doesn't validate the specified character to be a valid Unicode code
583 point. The caller must validate the character value using
584 isValidCodePoint(|java.lang.Character|) if necessary.
587 codePoint - the character (Unicode code point) to be tested.
589 Returns: 2 if the character is a valid supplementary character; 1 otherwise.
591 *java.lang.Character.charValue()*
593 public char charValue()
595 Returns the value of this Character object.
599 Returns: the primitive char value represented by this object.
601 *java.lang.Character.codePointAt(char[],int)*
603 public static int codePointAt(
607 Returns the code point at the given index of the char array. If the char value
608 at the given index in the char array is in the high-surrogate range, the
609 following index is less than the length of the char array, and the char value
610 at the following index is in the low-surrogate range, then the supplementary
611 code point corresponding to this surrogate pair is returned. Otherwise, the
612 char value at the given index is returned.
616 index - the index to the char values (Unicode code units) in the char array to be
619 Returns: the Unicode code point at the given index
621 *java.lang.Character.codePointAt(char[],int,int)*
623 public static int codePointAt(
628 Returns the code point at the given index of the char array, where only array
629 elements with index less than limit can be used. If the char value at the given
630 index in the char array is in the high-surrogate range, the following index is
631 less than the limit, and the char value at the following index is in the
632 low-surrogate range, then the supplementary code point corresponding to this
633 surrogate pair is returned. Otherwise, the char value at the given index is
638 index - the index to the char values (Unicode code units) in the char array to be
640 limit - the index after the last array element that can be used in the char array
642 Returns: the Unicode code point at the given index
644 *java.lang.Character.codePointAt(CharSequence,int)*
646 public static int codePointAt(
647 java.lang.CharSequence seq,
650 Returns the code point at the given index of the CharSequence. If the char
651 value at the given index in the CharSequence is in the high-surrogate range,
652 the following index is less than the length of the CharSequence, and the char
653 value at the following index is in the low-surrogate range, then the
654 supplementary code point corresponding to this surrogate pair is returned.
655 Otherwise, the char value at the given index is returned.
658 seq - a sequence of char values (Unicode code units)
659 index - the index to the char values (Unicode code units) in seq to be converted
661 Returns: the Unicode code point at the given index
663 *java.lang.Character.codePointBefore(char[],int)*
665 public static int codePointBefore(
669 Returns the code point preceding the given index of the char array. If the char
670 value at (index - 1) in the char array is in the low-surrogate range, (index -
671 2) is not negative, and the char value at (index - 2) in the char array is in
672 the high-surrogate range, then the supplementary code point corresponding to
673 this surrogate pair is returned. Otherwise, the char value at (index - 1) is
678 index - the index following the code point that should be returned
680 Returns: the Unicode code point value before the given index.
682 *java.lang.Character.codePointBefore(char[],int,int)*
684 public static int codePointBefore(
689 Returns the code point preceding the given index of the char array, where only
690 array elements with index greater than or equal to start can be used. If the
691 char value at (index - 1) in the char array is in the low-surrogate range,
692 (index - 2) is not less than start, and the char value at (index - 2) in the
693 char array is in the high-surrogate range, then the supplementary code point
694 corresponding to this surrogate pair is returned. Otherwise, the char value at
695 (index - 1) is returned.
699 index - the index following the code point that should be returned
700 start - the index of the first array element in the char array
702 Returns: the Unicode code point value before the given index.
704 *java.lang.Character.codePointBefore(CharSequence,int)*
706 public static int codePointBefore(
707 java.lang.CharSequence seq,
710 Returns the code point preceding the given index of the CharSequence. If the
711 char value at (index - 1) in the CharSequence is in the low-surrogate range,
712 (index - 2) is not negative, and the char value at (index - 2) in the
713 CharSequence is in the high-surrogate range, then the supplementary code point
714 corresponding to this surrogate pair is returned. Otherwise, the char value at
715 (index - 1) is returned.
718 seq - the CharSequence instance
719 index - the index following the code point that should be returned
721 Returns: the Unicode code point value before the given index.
723 *java.lang.Character.codePointCount(char[],int,int)*
725 public static int codePointCount(
730 Returns the number of Unicode code points in a subarray of the char array
731 argument. The offset argument is the index of the first char of the subarray
732 and the count argument specifies the length of the subarray in chars. Unpaired
733 surrogates within the subarray count as one code point each.
737 offset - the index of the first char in the given char array
738 count - the length of the subarray in chars
740 Returns: the number of Unicode code points in the specified subarray
742 *java.lang.Character.codePointCount(CharSequence,int,int)*
744 public static int codePointCount(
745 java.lang.CharSequence seq,
749 Returns the number of Unicode code points in the text range of the specified
750 char sequence. The text range begins at the specified beginIndex and extends to
751 the char at index endIndex - 1. Thus the length (in chars) of the text range is
752 endIndex-beginIndex. Unpaired surrogates within the text range count as one
756 seq - the char sequence
757 beginIndex - the index to the first char of the text range.
758 endIndex - the index after the last char of the text range.
760 Returns: the number of Unicode code points in the specified text range
762 *java.lang.Character.compareTo(Character)*
764 public int compareTo(java.lang.Character anotherCharacter)
766 Compares two Character objects numerically.
769 anotherCharacter - the Character to be compared.
771 Returns: the value 0 if the argument Character is equal to this Character; a value less
772 than 0 if this Character is numerically less than the Character
773 argument; and a value greater than 0 if this Character is
774 numerically greater than the Character argument (unsigned
775 comparison). Note that this is strictly a numerical comparison; it
776 is not locale-dependent.
778 *java.lang.Character.digit(char,int)*
780 public static int digit(
784 Returns the numeric value of the character ch in the specified radix.
786 If the radix is not in the range MIN_RADIX<= radix<= MAX_RADIX or if the value
787 of ch is not a valid digit in the specified radix, -1 is returned. A character
788 is a valid digit if at least one of the following is true:
790 The method isDigit is true of the character and the Unicode decimal digit value
791 of the character (or its single-character decomposition) is less than the
792 specified radix. In this case the decimal digit value is returned. The
793 character is one of the uppercase Latin letters 'A' through 'Z' and its code is
794 less than radix+ 'A'-10. In this case, ch- 'A'+10 is returned. The character is
795 one of the lowercase Latin letters 'a' through 'z' and its code is less than
796 radix+ 'a'-10. In this case, ch- 'a'+10 is returned.
798 Note: This method cannot handle supplementary characters. To support all
799 Unicode characters, including supplementary characters, use the
800 (|java.lang.Character|) method.
803 ch - the character to be converted.
806 Returns: the numeric value represented by the character in the specified radix.
808 *java.lang.Character.digit(int,int)*
810 public static int digit(
814 Returns the numeric value of the specified character (Unicode code point) in
817 If the radix is not in the range MIN_RADIX<= radix<= MAX_RADIX or if the
818 character is not a valid digit in the specified radix, -1 is returned. A
819 character is a valid digit if at least one of the following is true:
821 The method isDigit(codePoint)(|java.lang.Character|) is true of the character
822 and the Unicode decimal digit value of the character (or its single-character
823 decomposition) is less than the specified radix. In this case the decimal digit
824 value is returned. The character is one of the uppercase Latin letters 'A'
825 through 'Z' and its code is less than radix+ 'A'-10. In this case, ch- 'A'+10
826 is returned. The character is one of the lowercase Latin letters 'a' through
827 'z' and its code is less than radix+ 'a'-10. In this case, ch- 'a'+10 is
831 codePoint - the character (Unicode code point) to be converted.
834 Returns: the numeric value represented by the character in the specified radix.
836 *java.lang.Character.equals(Object)*
838 public boolean equals(java.lang.Object obj)
840 Compares this object against the specified object. The result is true if and
841 only if the argument is not null and is a Character object that represents the
842 same char value as this object.
845 obj - the object to compare with.
847 Returns: true if the objects are the same; false otherwise.
849 *java.lang.Character.forDigit(int,int)*
851 public static char forDigit(
855 Determines the character representation for a specific digit in the specified
856 radix. If the value of radix is not a valid radix, or the value of digit is not
857 a valid digit in the specified radix, the null character ('u0000') is returned.
859 The radix argument is valid if it is greater than or equal to MIN_RADIX and
860 less than or equal to MAX_RADIX. The digit argument is valid if 0<=digit<radix.
862 If the digit is less than 10, then '0'+ digit is returned. Otherwise, the value
863 'a'+ digit-10 is returned.
866 digit - the number to convert to a character.
869 Returns: the char representation of the specified digit in the specified radix.
871 *java.lang.Character.getDirectionality(char)*
873 public static byte getDirectionality(char ch)
875 Returns the Unicode directionality property for the given character. Character
876 directionality is used to calculate the visual ordering of text. The
877 directionality value of undefined char values is DIRECTIONALITY_UNDEFINED.
879 Note: This method cannot handle supplementary characters. To support all
880 Unicode characters, including supplementary characters, use the
881 (|java.lang.Character|) method.
884 ch - char for which the directionality property is requested.
886 Returns: the directionality property of the char value.
888 *java.lang.Character.getDirectionality(int)*
890 public static byte getDirectionality(int codePoint)
892 Returns the Unicode directionality property for the given character (Unicode
893 code point). Character directionality is used to calculate the visual ordering
894 of text. The directionality value of undefined character is
895 (|java.lang.Character|) .
898 codePoint - the character (Unicode code point) for which the directionality property is
901 Returns: the directionality property of the character.
903 *java.lang.Character.getNumericValue(char)*
905 public static int getNumericValue(char ch)
907 Returns the int value that the specified Unicode character represents. For
908 example, the character 'u216C' (the roman numeral fifty) will return an int
911 The letters A-Z in their uppercase ('u0041' through 'u005A'), lowercase
912 ('u0061' through 'u007A'), and full width variant ('uFF21' through 'uFF3A' and
913 'uFF41' through 'uFF5A') forms have numeric values from 10 through 35. This is
914 independent of the Unicode specification, which does not assign numeric values
915 to these char values.
917 If the character does not have a numeric value, then -1 is returned. If the
918 character has a numeric value that cannot be represented as a nonnegative
919 integer (for example, a fractional value), then -2 is returned.
921 Note: This method cannot handle supplementary characters. To support all
922 Unicode characters, including supplementary characters, use the
923 (|java.lang.Character|) method.
926 ch - the character to be converted.
928 Returns: the numeric value of the character, as a nonnegative int value; -2 if the
929 character has a numeric value that is not a nonnegative integer;
930 -1 if the character has no numeric value.
932 *java.lang.Character.getNumericValue(int)*
934 public static int getNumericValue(int codePoint)
936 Returns the int value that the specified character (Unicode code point)
937 represents. For example, the character 'u216C' (the Roman numeral fifty) will
938 return an int with a value of 50.
940 The letters A-Z in their uppercase ('u0041' through 'u005A'), lowercase
941 ('u0061' through 'u007A'), and full width variant ('uFF21' through 'uFF3A' and
942 'uFF41' through 'uFF5A') forms have numeric values from 10 through 35. This is
943 independent of the Unicode specification, which does not assign numeric values
944 to these char values.
946 If the character does not have a numeric value, then -1 is returned. If the
947 character has a numeric value that cannot be represented as a nonnegative
948 integer (for example, a fractional value), then -2 is returned.
951 codePoint - the character (Unicode code point) to be converted.
953 Returns: the numeric value of the character, as a nonnegative int value; -2 if the
954 character has a numeric value that is not a nonnegative integer;
955 -1 if the character has no numeric value.
957 *java.lang.Character.getType(char)*
959 public static int getType(char ch)
961 Returns a value indicating a character's general category.
963 Note: This method cannot handle supplementary characters. To support all
964 Unicode characters, including supplementary characters, use the
965 (|java.lang.Character|) method.
968 ch - the character to be tested.
970 Returns: a value of type int representing the character's general category.
972 *java.lang.Character.getType(int)*
974 public static int getType(int codePoint)
976 Returns a value indicating a character's general category.
979 codePoint - the character (Unicode code point) to be tested.
981 Returns: a value of type int representing the character's general category.
983 *java.lang.Character.hashCode()*
985 public int hashCode()
987 Returns a hash code for this Character.
991 Returns: a hash code value for this object.
993 *java.lang.Character.isDefined(char)*
995 public static boolean isDefined(char ch)
997 Determines if a character is defined in Unicode.
999 A character is defined if at least one of the following is true:
1001 It has an entry in the UnicodeData file. It has a value in a range defined by
1002 the UnicodeData file.
1004 Note: This method cannot handle supplementary characters. To support all
1005 Unicode characters, including supplementary characters, use the
1006 (|java.lang.Character|) method.
1009 ch - the character to be tested
1011 Returns: true if the character has a defined meaning in Unicode; false otherwise.
1013 *java.lang.Character.isDefined(int)*
1015 public static boolean isDefined(int codePoint)
1017 Determines if a character (Unicode code point) is defined in Unicode.
1019 A character is defined if at least one of the following is true:
1021 It has an entry in the UnicodeData file. It has a value in a range defined by
1022 the UnicodeData file.
1025 codePoint - the character (Unicode code point) to be tested.
1027 Returns: true if the character has a defined meaning in Unicode; false otherwise.
1029 *java.lang.Character.isDigit(char)*
1031 public static boolean isDigit(char ch)
1033 Determines if the specified character is a digit.
1035 A character is a digit if its general category type, provided by
1036 Character.getType(ch), is DECIMAL_DIGIT_NUMBER.
1038 Some Unicode character ranges that contain digits:
1040 'u0030' through 'u0039', ISO-LATIN-1 digits ('0' through '9') 'u0660' through
1041 'u0669', Arabic-Indic digits 'u06F0' through 'u06F9', Extended Arabic-Indic
1042 digits 'u0966' through 'u096F', Devanagari digits 'uFF10' through 'uFF19',
1045 Many other character ranges contain digits as well.
1047 Note: This method cannot handle supplementary characters. To support all
1048 Unicode characters, including supplementary characters, use the
1049 (|java.lang.Character|) method.
1052 ch - the character to be tested.
1054 Returns: true if the character is a digit; false otherwise.
1056 *java.lang.Character.isDigit(int)*
1058 public static boolean isDigit(int codePoint)
1060 Determines if the specified character (Unicode code point) is a digit.
1062 A character is a digit if its general category type, provided by
1063 getType(codePoint)(|java.lang.Character|) , is DECIMAL_DIGIT_NUMBER.
1065 Some Unicode character ranges that contain digits:
1067 'u0030' through 'u0039', ISO-LATIN-1 digits ('0' through '9') 'u0660' through
1068 'u0669', Arabic-Indic digits 'u06F0' through 'u06F9', Extended Arabic-Indic
1069 digits 'u0966' through 'u096F', Devanagari digits 'uFF10' through 'uFF19',
1072 Many other character ranges contain digits as well.
1075 codePoint - the character (Unicode code point) to be tested.
1077 Returns: true if the character is a digit; false otherwise.
1079 *java.lang.Character.isHighSurrogate(char)*
1081 public static boolean isHighSurrogate(char ch)
1083 Determines if the given char value is a high-surrogate code unit (also known as
1084 leading-surrogate code unit). Such values do not represent characters by
1085 themselves, but are used in the representation of supplementary characters in
1086 the UTF-16 encoding.
1088 This method returns true if and only if
1090 ch >= 'uD800' ch is true.
1093 ch - the char value to be tested.
1095 Returns: true if the char value is between 'uD800' and 'uDBFF' inclusive; false
1098 *java.lang.Character.isIdentifierIgnorable(char)*
1100 public static boolean isIdentifierIgnorable(char ch)
1102 Determines if the specified character should be regarded as an ignorable
1103 character in a Java identifier or a Unicode identifier.
1105 The following Unicode characters are ignorable in a Java identifier or a
1108 ISO control characters that are not whitespace
1110 'u0000' through 'u0008' 'u000E' through 'u001B' 'u007F' through 'u009F'
1112 all characters that have the FORMAT general category value
1114 Note: This method cannot handle supplementary characters. To support all
1115 Unicode characters, including supplementary characters, use the
1116 (|java.lang.Character|) method.
1119 ch - the character to be tested.
1121 Returns: true if the character is an ignorable control character that may be part of a
1122 Java or Unicode identifier; false otherwise.
1124 *java.lang.Character.isIdentifierIgnorable(int)*
1126 public static boolean isIdentifierIgnorable(int codePoint)
1128 Determines if the specified character (Unicode code point) should be regarded
1129 as an ignorable character in a Java identifier or a Unicode identifier.
1131 The following Unicode characters are ignorable in a Java identifier or a
1134 ISO control characters that are not whitespace
1136 'u0000' through 'u0008' 'u000E' through 'u001B' 'u007F' through 'u009F'
1138 all characters that have the FORMAT general category value
1141 codePoint - the character (Unicode code point) to be tested.
1143 Returns: true if the character is an ignorable control character that may be part of a
1144 Java or Unicode identifier; false otherwise.
1146 *java.lang.Character.isISOControl(char)*
1148 public static boolean isISOControl(char ch)
1150 Determines if the specified character is an ISO control character. A character
1151 is considered to be an ISO control character if its code is in the range
1152 'u0000' through 'u001F' or in the range 'u007F' through 'u009F'.
1154 Note: This method cannot handle supplementary characters. To support all
1155 Unicode characters, including supplementary characters, use the
1156 (|java.lang.Character|) method.
1159 ch - the character to be tested.
1161 Returns: true if the character is an ISO control character; false otherwise.
1163 *java.lang.Character.isISOControl(int)*
1165 public static boolean isISOControl(int codePoint)
1167 Determines if the referenced character (Unicode code point) is an ISO control
1168 character. A character is considered to be an ISO control character if its code
1169 is in the range 'u0000' through 'u001F' or in the range 'u007F' through
1173 codePoint - the character (Unicode code point) to be tested.
1175 Returns: true if the character is an ISO control character; false otherwise.
1177 *java.lang.Character.isJavaIdentifierPart(char)*
1179 public static boolean isJavaIdentifierPart(char ch)
1181 Determines if the specified character may be part of a Java identifier as other
1182 than the first character.
1184 A character may be part of a Java identifier if any of the following are true:
1186 it is a letter it is a currency symbol (such as '$') it is a connecting
1187 punctuation character (such as '_') it is a digit it is a numeric letter (such
1188 as a Roman numeral character) it is a combining mark it is a non-spacing mark
1189 isIdentifierIgnorable returns true for the character
1191 Note: This method cannot handle supplementary characters. To support all
1192 Unicode characters, including supplementary characters, use the
1193 (|java.lang.Character|) method.
1196 ch - the character to be tested.
1198 Returns: true if the character may be part of a Java identifier; false otherwise.
1200 *java.lang.Character.isJavaIdentifierPart(int)*
1202 public static boolean isJavaIdentifierPart(int codePoint)
1204 Determines if the character (Unicode code point) may be part of a Java
1205 identifier as other than the first character.
1207 A character may be part of a Java identifier if any of the following are true:
1209 it is a letter it is a currency symbol (such as '$') it is a connecting
1210 punctuation character (such as '_') it is a digit it is a numeric letter (such
1211 as a Roman numeral character) it is a combining mark it is a non-spacing mark
1212 isIdentifierIgnorable(codePoint)(|java.lang.Character|) returns true for the
1216 codePoint - the character (Unicode code point) to be tested.
1218 Returns: true if the character may be part of a Java identifier; false otherwise.
1220 *java.lang.Character.isJavaIdentifierStart(char)*
1222 public static boolean isJavaIdentifierStart(char ch)
1224 Determines if the specified character is permissible as the first character in
1227 A character may start a Java identifier if and only if one of the following
1230 isLetter(ch)(|java.lang.Character|) returns true
1231 getType(ch)(|java.lang.Character|) returns LETTER_NUMBER ch is a currency
1232 symbol (such as "$") ch is a connecting punctuation character (such as "_").
1234 Note: This method cannot handle supplementary characters. To support all
1235 Unicode characters, including supplementary characters, use the
1236 (|java.lang.Character|) method.
1239 ch - the character to be tested.
1241 Returns: true if the character may start a Java identifier; false otherwise.
1243 *java.lang.Character.isJavaIdentifierStart(int)*
1245 public static boolean isJavaIdentifierStart(int codePoint)
1247 Determines if the character (Unicode code point) is permissible as the first
1248 character in a Java identifier.
1250 A character may start a Java identifier if and only if one of the following
1253 isLetter(codePoint)(|java.lang.Character|) returns true
1254 getType(codePoint)(|java.lang.Character|) returns LETTER_NUMBER the referenced
1255 character is a currency symbol (such as "$") the referenced character is a
1256 connecting punctuation character (such as "_").
1259 codePoint - the character (Unicode code point) to be tested.
1261 Returns: true if the character may start a Java identifier; false otherwise.
1263 *java.lang.Character.isJavaLetter(char)*
1265 public static boolean isJavaLetter(char ch)
1267 Determines if the specified character is permissible as the first character in
1270 A character may start a Java identifier if and only if one of the following is
1273 isLetter(ch)(|java.lang.Character|) returns true
1274 getType(ch)(|java.lang.Character|) returns LETTER_NUMBER ch is a currency
1275 symbol (such as "$") ch is a connecting punctuation character (such as "_").
1277 Deprecated: Replaced by isJavaIdentifierStart(char).
1279 ch - the character to be tested.
1281 Returns: true if the character may start a Java identifier; false otherwise.
1283 *java.lang.Character.isJavaLetterOrDigit(char)*
1285 public static boolean isJavaLetterOrDigit(char ch)
1287 Determines if the specified character may be part of a Java identifier as other
1288 than the first character.
1290 A character may be part of a Java identifier if and only if any of the
1293 it is a letter it is a currency symbol (such as '$') it is a connecting
1294 punctuation character (such as '_') it is a digit it is a numeric letter (such
1295 as a Roman numeral character) it is a combining mark it is a non-spacing mark
1296 isIdentifierIgnorable returns true for the character.
1298 Deprecated: Replaced by isJavaIdentifierPart(char).
1300 ch - the character to be tested.
1302 Returns: true if the character may be part of a Java identifier; false otherwise.
1304 *java.lang.Character.isLetter(char)*
1306 public static boolean isLetter(char ch)
1308 Determines if the specified character is a letter.
1310 A character is considered to be a letter if its general category type, provided
1311 by Character.getType(ch), is any of the following:
1313 UPPERCASE_LETTER LOWERCASE_LETTER TITLECASE_LETTER MODIFIER_LETTER OTHER_LETTER
1315 Not all letters have case. Many characters are letters but are neither
1316 uppercase nor lowercase nor titlecase.
1318 Note: This method cannot handle supplementary characters. To support all
1319 Unicode characters, including supplementary characters, use the
1320 (|java.lang.Character|) method.
1323 ch - the character to be tested.
1325 Returns: true if the character is a letter; false otherwise.
1327 *java.lang.Character.isLetter(int)*
1329 public static boolean isLetter(int codePoint)
1331 Determines if the specified character (Unicode code point) is a letter.
1333 A character is considered to be a letter if its general category type, provided
1334 by getType(codePoint)(|java.lang.Character|) , is any of the following:
1336 UPPERCASE_LETTER LOWERCASE_LETTER TITLECASE_LETTER MODIFIER_LETTER OTHER_LETTER
1338 Not all letters have case. Many characters are letters but are neither
1339 uppercase nor lowercase nor titlecase.
1342 codePoint - the character (Unicode code point) to be tested.
1344 Returns: true if the character is a letter; false otherwise.
1346 *java.lang.Character.isLetterOrDigit(char)*
1348 public static boolean isLetterOrDigit(char ch)
1350 Determines if the specified character is a letter or digit.
1352 A character is considered to be a letter or digit if either
1353 Character.isLetter(char ch) or Character.isDigit(char ch) returns true for the
1356 Note: This method cannot handle supplementary characters. To support all
1357 Unicode characters, including supplementary characters, use the
1358 (|java.lang.Character|) method.
1361 ch - the character to be tested.
1363 Returns: true if the character is a letter or digit; false otherwise.
1365 *java.lang.Character.isLetterOrDigit(int)*
1367 public static boolean isLetterOrDigit(int codePoint)
1369 Determines if the specified character (Unicode code point) is a letter or
1372 A character is considered to be a letter or digit if either
1373 isLetter(codePoint)(|java.lang.Character|) or
1374 isDigit(codePoint)(|java.lang.Character|) returns true for the character.
1377 codePoint - the character (Unicode code point) to be tested.
1379 Returns: true if the character is a letter or digit; false otherwise.
1381 *java.lang.Character.isLowerCase(char)*
1383 public static boolean isLowerCase(char ch)
1385 Determines if the specified character is a lowercase character.
1387 A character is lowercase if its general category type, provided by
1388 Character.getType(ch), is LOWERCASE_LETTER.
1390 The following are examples of lowercase characters:
1392 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'
1393 'u00E2' 'u00E3' 'u00E4' 'u00E5' 'u00E6' 'u00E7' 'u00E8' 'u00E9' 'u00EA' 'u00EB'
1394 'u00EC' 'u00ED' 'u00EE' 'u00EF' 'u00F0' 'u00F1' 'u00F2' 'u00F3' 'u00F4' 'u00F5'
1395 'u00F6' 'u00F8' 'u00F9' 'u00FA' 'u00FB' 'u00FC' 'u00FD' 'u00FE' 'u00FF'
1397 Many other Unicode characters are lowercase too.
1399 Note: This method cannot handle supplementary characters. To support all
1400 Unicode characters, including supplementary characters, use the
1401 (|java.lang.Character|) method.
1404 ch - the character to be tested.
1406 Returns: true if the character is lowercase; false otherwise.
1408 *java.lang.Character.isLowerCase(int)*
1410 public static boolean isLowerCase(int codePoint)
1412 Determines if the specified character (Unicode code point) is a lowercase
1415 A character is lowercase if its general category type, provided by
1416 getType(codePoint)(|java.lang.Character|) , is LOWERCASE_LETTER.
1418 The following are examples of lowercase characters:
1420 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'
1421 'u00E2' 'u00E3' 'u00E4' 'u00E5' 'u00E6' 'u00E7' 'u00E8' 'u00E9' 'u00EA' 'u00EB'
1422 'u00EC' 'u00ED' 'u00EE' 'u00EF' 'u00F0' 'u00F1' 'u00F2' 'u00F3' 'u00F4' 'u00F5'
1423 'u00F6' 'u00F8' 'u00F9' 'u00FA' 'u00FB' 'u00FC' 'u00FD' 'u00FE' 'u00FF'
1425 Many other Unicode characters are lowercase too.
1428 codePoint - the character (Unicode code point) to be tested.
1430 Returns: true if the character is lowercase; false otherwise.
1432 *java.lang.Character.isLowSurrogate(char)*
1434 public static boolean isLowSurrogate(char ch)
1436 Determines if the given char value is a low-surrogate code unit (also known as
1437 trailing-surrogate code unit). Such values do not represent characters by
1438 themselves, but are used in the representation of supplementary characters in
1439 the UTF-16 encoding.
1441 This method returns true if and only if
1443 ch >= 'uDC00' ch is true.
1446 ch - the char value to be tested.
1448 Returns: true if the char value is between 'uDC00' and 'uDFFF' inclusive; false
1451 *java.lang.Character.isMirrored(char)*
1453 public static boolean isMirrored(char ch)
1455 Determines whether the character is mirrored according to the Unicode
1456 specification. Mirrored characters should have their glyphs horizontally
1457 mirrored when displayed in text that is right-to-left. For example, 'u0028'
1458 LEFT PARENTHESIS is semantically defined to be an opening parenthesis. This
1459 will appear as a "(" in text that is left-to-right but as a ")" in text that is
1462 Note: This method cannot handle supplementary characters. To support all
1463 Unicode characters, including supplementary characters, use the
1464 (|java.lang.Character|) method.
1467 ch - char for which the mirrored property is requested
1469 Returns: true if the char is mirrored, false if the char is not mirrored or is not
1472 *java.lang.Character.isMirrored(int)*
1474 public static boolean isMirrored(int codePoint)
1476 Determines whether the specified character (Unicode code point) is mirrored
1477 according to the Unicode specification. Mirrored characters should have their
1478 glyphs horizontally mirrored when displayed in text that is right-to-left. For
1479 example, 'u0028' LEFT PARENTHESIS is semantically defined to be an opening
1480 parenthesis. This will appear as a "(" in text that is left-to-right but as a
1481 ")" in text that is right-to-left.
1484 codePoint - the character (Unicode code point) to be tested.
1486 Returns: true if the character is mirrored, false if the character is not mirrored or is
1489 *java.lang.Character.isSpace(char)*
1491 public static boolean isSpace(char ch)
1493 Determines if the specified character is ISO-LATIN-1 white space. This method
1494 returns true for the following five characters only:
1496 '\t' 'u0009' HORIZONTAL TABULATION '\n' 'u000A' NEW LINE '\f' 'u000C' FORM FEED
1497 '\r' 'u000D' CARRIAGE RETURN '' 'u0020' SPACE
1499 Deprecated: Replaced by isWhitespace(char).
1501 ch - the character to be tested.
1503 Returns: true if the character is ISO-LATIN-1 white space; false otherwise.
1505 *java.lang.Character.isSpaceChar(char)*
1507 public static boolean isSpaceChar(char ch)
1509 Determines if the specified character is a Unicode space character. A character
1510 is considered to be a space character if and only if it is specified to be a
1511 space character by the Unicode standard. This method returns true if the
1512 character's general category type is any of the following:
1514 SPACE_SEPARATOR LINE_SEPARATOR PARAGRAPH_SEPARATOR
1516 Note: This method cannot handle supplementary characters. To support all
1517 Unicode characters, including supplementary characters, use the
1518 (|java.lang.Character|) method.
1521 ch - the character to be tested.
1523 Returns: true if the character is a space character; false otherwise.
1525 *java.lang.Character.isSpaceChar(int)*
1527 public static boolean isSpaceChar(int codePoint)
1529 Determines if the specified character (Unicode code point) is a Unicode space
1530 character. A character is considered to be a space character if and only if it
1531 is specified to be a space character by the Unicode standard. This method
1532 returns true if the character's general category type is any of the following:
1534 (|java.lang.Character|) (|java.lang.Character|) (|java.lang.Character|)
1537 codePoint - the character (Unicode code point) to be tested.
1539 Returns: true if the character is a space character; false otherwise.
1541 *java.lang.Character.isSupplementaryCodePoint(int)*
1543 public static boolean isSupplementaryCodePoint(int codePoint)
1545 Determines whether the specified character (Unicode code point) is in the
1546 supplementary character range. The method call is equivalent to the expression:
1548 codePoint >= 0x10000 codePoint
1551 codePoint - the character (Unicode code point) to be tested
1553 Returns: true if the specified character is in the Unicode supplementary character
1554 range; false otherwise.
1556 *java.lang.Character.isSurrogatePair(char,char)*
1558 public static boolean isSurrogatePair(
1562 Determines whether the specified pair of char values is a valid surrogate pair.
1563 This method is equivalent to the expression:
1565 isHighSurrogate(high) isLowSurrogate(low)
1568 high - the high-surrogate code value to be tested
1569 low - the low-surrogate code value to be tested
1571 Returns: true if the specified high and low-surrogate code values represent a valid
1572 surrogate pair; false otherwise.
1574 *java.lang.Character.isTitleCase(char)*
1576 public static boolean isTitleCase(char ch)
1578 Determines if the specified character is a titlecase character.
1580 A character is a titlecase character if its general category type, provided by
1581 Character.getType(ch), is TITLECASE_LETTER.
1583 Some characters look like pairs of Latin letters. For example, there is an
1584 uppercase letter that looks like "LJ" and has a corresponding lowercase letter
1585 that looks like "lj". A third form, which looks like "Lj", is the appropriate
1586 form to use when rendering a word in lowercase with initial capitals, as for a
1589 These are some of the Unicode characters for which this method returns true:
1591 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON LATIN CAPITAL LETTER L
1592 WITH SMALL LETTER J LATIN CAPITAL LETTER N WITH SMALL LETTER J LATIN CAPITAL
1593 LETTER D WITH SMALL LETTER Z
1595 Many other Unicode characters are titlecase too.
1597 Note: This method cannot handle supplementary characters. To support all
1598 Unicode characters, including supplementary characters, use the
1599 (|java.lang.Character|) method.
1602 ch - the character to be tested.
1604 Returns: true if the character is titlecase; false otherwise.
1606 *java.lang.Character.isTitleCase(int)*
1608 public static boolean isTitleCase(int codePoint)
1610 Determines if the specified character (Unicode code point) is a titlecase
1613 A character is a titlecase character if its general category type, provided by
1614 getType(codePoint)(|java.lang.Character|) , is TITLECASE_LETTER.
1616 Some characters look like pairs of Latin letters. For example, there is an
1617 uppercase letter that looks like "LJ" and has a corresponding lowercase letter
1618 that looks like "lj". A third form, which looks like "Lj", is the appropriate
1619 form to use when rendering a word in lowercase with initial capitals, as for a
1622 These are some of the Unicode characters for which this method returns true:
1624 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON LATIN CAPITAL LETTER L
1625 WITH SMALL LETTER J LATIN CAPITAL LETTER N WITH SMALL LETTER J LATIN CAPITAL
1626 LETTER D WITH SMALL LETTER Z
1628 Many other Unicode characters are titlecase too.
1631 codePoint - the character (Unicode code point) to be tested.
1633 Returns: true if the character is titlecase; false otherwise.
1635 *java.lang.Character.isUnicodeIdentifierPart(char)*
1637 public static boolean isUnicodeIdentifierPart(char ch)
1639 Determines if the specified character may be part of a Unicode identifier as
1640 other than the first character.
1642 A character may be part of a Unicode identifier if and only if one of the
1643 following statements is true:
1645 it is a letter it is a connecting punctuation character (such as '_') it is a
1646 digit it is a numeric letter (such as a Roman numeral character) it is a
1647 combining mark it is a non-spacing mark isIdentifierIgnorable returns true for
1650 Note: This method cannot handle supplementary characters. To support all
1651 Unicode characters, including supplementary characters, use the
1652 (|java.lang.Character|) method.
1655 ch - the character to be tested.
1657 Returns: true if the character may be part of a Unicode identifier; false otherwise.
1659 *java.lang.Character.isUnicodeIdentifierPart(int)*
1661 public static boolean isUnicodeIdentifierPart(int codePoint)
1663 Determines if the specified character (Unicode code point) may be part of a
1664 Unicode identifier as other than the first character.
1666 A character may be part of a Unicode identifier if and only if one of the
1667 following statements is true:
1669 it is a letter it is a connecting punctuation character (such as '_') it is a
1670 digit it is a numeric letter (such as a Roman numeral character) it is a
1671 combining mark it is a non-spacing mark isIdentifierIgnorable returns true for
1675 codePoint - the character (Unicode code point) to be tested.
1677 Returns: true if the character may be part of a Unicode identifier; false otherwise.
1679 *java.lang.Character.isUnicodeIdentifierStart(char)*
1681 public static boolean isUnicodeIdentifierStart(char ch)
1683 Determines if the specified character is permissible as the first character in
1684 a Unicode identifier.
1686 A character may start a Unicode identifier if and only if one of the following
1689 isLetter(ch)(|java.lang.Character|) returns true
1690 getType(ch)(|java.lang.Character|) returns LETTER_NUMBER.
1692 Note: This method cannot handle supplementary characters. To support all
1693 Unicode characters, including supplementary characters, use the
1694 (|java.lang.Character|) method.
1697 ch - the character to be tested.
1699 Returns: true if the character may start a Unicode identifier; false otherwise.
1701 *java.lang.Character.isUnicodeIdentifierStart(int)*
1703 public static boolean isUnicodeIdentifierStart(int codePoint)
1705 Determines if the specified character (Unicode code point) is permissible as
1706 the first character in a Unicode identifier.
1708 A character may start a Unicode identifier if and only if one of the following
1711 isLetter(codePoint)(|java.lang.Character|) returns true
1712 getType(codePoint)(|java.lang.Character|) returns LETTER_NUMBER.
1715 codePoint - the character (Unicode code point) to be tested.
1717 Returns: true if the character may start a Unicode identifier; false otherwise.
1719 *java.lang.Character.isUpperCase(char)*
1721 public static boolean isUpperCase(char ch)
1723 Determines if the specified character is an uppercase character.
1725 A character is uppercase if its general category type, provided by
1726 Character.getType(ch), is UPPERCASE_LETTER.
1728 The following are examples of uppercase characters:
1730 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'
1731 'u00C3' 'u00C4' 'u00C5' 'u00C6' 'u00C7' 'u00C8' 'u00C9' 'u00CA' 'u00CB' 'u00CC'
1732 'u00CD' 'u00CE' 'u00CF' 'u00D0' 'u00D1' 'u00D2' 'u00D3' 'u00D4' 'u00D5' 'u00D6'
1733 'u00D8' 'u00D9' 'u00DA' 'u00DB' 'u00DC' 'u00DD' 'u00DE'
1735 Many other Unicode characters are uppercase too.
1737 Note: This method cannot handle supplementary characters. To support all
1738 Unicode characters, including supplementary characters, use the
1739 (|java.lang.Character|) method.
1742 ch - the character to be tested.
1744 Returns: true if the character is uppercase; false otherwise.
1746 *java.lang.Character.isUpperCase(int)*
1748 public static boolean isUpperCase(int codePoint)
1750 Determines if the specified character (Unicode code point) is an uppercase
1753 A character is uppercase if its general category type, provided by
1754 getType(codePoint)(|java.lang.Character|) , is UPPERCASE_LETTER.
1756 The following are examples of uppercase characters:
1758 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'
1759 'u00C3' 'u00C4' 'u00C5' 'u00C6' 'u00C7' 'u00C8' 'u00C9' 'u00CA' 'u00CB' 'u00CC'
1760 'u00CD' 'u00CE' 'u00CF' 'u00D0' 'u00D1' 'u00D2' 'u00D3' 'u00D4' 'u00D5' 'u00D6'
1761 'u00D8' 'u00D9' 'u00DA' 'u00DB' 'u00DC' 'u00DD' 'u00DE'
1763 Many other Unicode characters are uppercase too.
1766 codePoint - the character (Unicode code point) to be tested.
1768 Returns: true if the character is uppercase; false otherwise.
1770 *java.lang.Character.isValidCodePoint(int)*
1772 public static boolean isValidCodePoint(int codePoint)
1774 Determines whether the specified code point is a valid Unicode code point value
1775 in the range of 0x0000 to 0x10FFFF inclusive. This method is equivalent to the
1780 codePoint >= 0x0000 codePoint
1783 codePoint - the Unicode code point to be tested
1785 Returns: true if the specified code point value is a valid code point value; false
1788 *java.lang.Character.isWhitespace(char)*
1790 public static boolean isWhitespace(char ch)
1792 Determines if the specified character is white space according to Java. A
1793 character is a Java whitespace character if and only if it satisfies one of the
1796 It is a Unicode space character (SPACE_SEPARATOR, LINE_SEPARATOR, or
1797 PARAGRAPH_SEPARATOR) but is not also a non-breaking space ('u00A0', 'u2007',
1798 'u202F'). It is 'u0009', HORIZONTAL TABULATION. It is 'u000A', LINE FEED. It is
1799 'u000B', VERTICAL TABULATION. It is 'u000C', FORM FEED. It is 'u000D', CARRIAGE
1800 RETURN. It is 'u001C', FILE SEPARATOR. It is 'u001D', GROUP SEPARATOR. It is
1801 'u001E', RECORD SEPARATOR. It is 'u001F', UNIT SEPARATOR.
1803 Note: This method cannot handle supplementary characters. To support all
1804 Unicode characters, including supplementary characters, use the
1805 (|java.lang.Character|) method.
1808 ch - the character to be tested.
1810 Returns: true if the character is a Java whitespace character; false otherwise.
1812 *java.lang.Character.isWhitespace(int)*
1814 public static boolean isWhitespace(int codePoint)
1816 Determines if the specified character (Unicode code point) is white space
1817 according to Java. A character is a Java whitespace character if and only if it
1818 satisfies one of the following criteria:
1820 It is a Unicode space character ( (|java.lang.Character|) ,
1821 (|java.lang.Character|) , or (|java.lang.Character|) ) but is not also a
1822 non-breaking space ('u00A0', 'u2007', 'u202F'). It is 'u0009', HORIZONTAL
1823 TABULATION. It is 'u000A', LINE FEED. It is 'u000B', VERTICAL TABULATION. It is
1824 'u000C', FORM FEED. It is 'u000D', CARRIAGE RETURN. It is 'u001C', FILE
1825 SEPARATOR. It is 'u001D', GROUP SEPARATOR. It is 'u001E', RECORD SEPARATOR. It
1826 is 'u001F', UNIT SEPARATOR.
1831 codePoint - the character (Unicode code point) to be tested.
1833 Returns: true if the character is a Java whitespace character; false otherwise.
1835 *java.lang.Character.offsetByCodePoints(char[],int,int,int,int)*
1837 public static int offsetByCodePoints(
1842 int codePointOffset)
1844 Returns the index within the given char subarray that is offset from the given
1845 index by codePointOffset code points. The start and count arguments specify a
1846 subarray of the char array. Unpaired surrogates within the text range given by
1847 index and codePointOffset count as one code point each.
1851 start - the index of the first char of the subarray
1852 count - the length of the subarray in chars
1853 index - the index to be offset
1854 codePointOffset - the offset in code points
1856 Returns: the index within the subarray
1858 *java.lang.Character.offsetByCodePoints(CharSequence,int,int)*
1860 public static int offsetByCodePoints(
1861 java.lang.CharSequence seq,
1863 int codePointOffset)
1865 Returns the index within the given char sequence that is offset from the given
1866 index by codePointOffset code points. Unpaired surrogates within the text range
1867 given by index and codePointOffset count as one code point each.
1870 seq - the char sequence
1871 index - the index to be offset
1872 codePointOffset - the offset in code points
1874 Returns: the index within the char sequence
1876 *java.lang.Character.reverseBytes(char)*
1878 public static char reverseBytes(char ch)
1880 Returns the value obtained by reversing the order of the bytes in the specified
1885 Returns: the value obtained by reversing (or, equivalently, swapping) the bytes in the
1886 specified char value.
1888 *java.lang.Character.toChars(int)*
1890 public static char[] toChars(int codePoint)
1892 Converts the specified character (Unicode code point) to its UTF-16
1893 representation stored in a char array. If the specified code point is a BMP
1894 (Basic Multilingual Plane or Plane 0) value, the resulting char array has the
1895 same value as codePoint. If the specified code point is a supplementary code
1896 point, the resulting char array has the corresponding surrogate pair.
1899 codePoint - a Unicode code point
1901 Returns: a char array having codePoint's UTF-16 representation.
1903 *java.lang.Character.toChars(int,char[],int)*
1905 public static int toChars(
1910 Converts the specified character (Unicode code point) to its UTF-16
1911 representation. If the specified code point is a BMP (Basic Multilingual Plane
1912 or Plane 0) value, the same value is stored in dst[dstIndex], and 1 is
1913 returned. If the specified code point is a supplementary character, its
1914 surrogate values are stored in dst[dstIndex] (high-surrogate) and
1915 dst[dstIndex+1] (low-surrogate), and 2 is returned.
1918 codePoint - the character (Unicode code point) to be converted.
1919 dst - an array of char in which the codePoint's UTF-16 value is stored.
1920 dstIndex - the start index into the dst array where the converted value is stored.
1922 Returns: 1 if the code point is a BMP code point, 2 if the code point is a supplementary
1925 *java.lang.Character.toCodePoint(char,char)*
1927 public static int toCodePoint(
1931 Converts the specified surrogate pair to its supplementary code point value.
1932 This method does not validate the specified surrogate pair. The caller must
1933 validate it using isSurrogatePair(|java.lang.Character|) if necessary.
1936 high - the high-surrogate code unit
1937 low - the low-surrogate code unit
1939 Returns: the supplementary code point composed from the specified surrogate pair.
1941 *java.lang.Character.toLowerCase(char)*
1943 public static char toLowerCase(char ch)
1945 Converts the character argument to lowercase using case mapping information
1946 from the UnicodeData file.
1948 Note that Character.isLowerCase(Character.toLowerCase(ch)) does not always
1949 return true for some ranges of characters, particularly those that are symbols
1952 In general, (|java.lang.String|) should be used to map characters to lowercase.
1953 String case mapping methods have several benefits over Character case mapping
1954 methods. String case mapping methods can perform locale-sensitive mappings,
1955 context-sensitive mappings, and 1:M character mappings, whereas the Character
1956 case mapping methods cannot.
1958 Note: This method cannot handle supplementary characters. To support all
1959 Unicode characters, including supplementary characters, use the
1960 (|java.lang.Character|) method.
1963 ch - the character to be converted.
1965 Returns: the lowercase equivalent of the character, if any; otherwise, the character
1968 *java.lang.Character.toLowerCase(int)*
1970 public static int toLowerCase(int codePoint)
1972 Converts the character (Unicode code point) argument to lowercase using case
1973 mapping information from the UnicodeData file.
1975 Note that Character.isLowerCase(Character.toLowerCase(codePoint)) does not
1976 always return true for some ranges of characters, particularly those that are
1977 symbols or ideographs.
1979 In general, (|java.lang.String|) should be used to map characters to lowercase.
1980 String case mapping methods have several benefits over Character case mapping
1981 methods. String case mapping methods can perform locale-sensitive mappings,
1982 context-sensitive mappings, and 1:M character mappings, whereas the Character
1983 case mapping methods cannot.
1986 codePoint - the character (Unicode code point) to be converted.
1988 Returns: the lowercase equivalent of the character (Unicode code point), if any;
1989 otherwise, the character itself.
1991 *java.lang.Character.toString()*
1993 public |java.lang.String| toString()
1995 Returns a String object representing this Character's value. The result is a
1996 string of length 1 whose sole component is the primitive char value represented
1997 by this Character object.
2001 Returns: a string representation of this object.
2003 *java.lang.Character.toString(char)*
2005 public static |java.lang.String| toString(char c)
2007 Returns a String object representing the specified char. The result is a string
2008 of length 1 consisting solely of the specified char.
2011 c - the char to be converted
2013 Returns: the string representation of the specified char
2015 *java.lang.Character.toTitleCase(char)*
2017 public static char toTitleCase(char ch)
2019 Converts the character argument to titlecase using case mapping information
2020 from the UnicodeData file. If a character has no explicit titlecase mapping and
2021 is not itself a titlecase char according to UnicodeData, then the uppercase
2022 mapping is returned as an equivalent titlecase mapping. If the char argument is
2023 already a titlecase char, the same char value will be returned.
2025 Note that Character.isTitleCase(Character.toTitleCase(ch)) does not always
2026 return true for some ranges of characters.
2028 Note: This method cannot handle supplementary characters. To support all
2029 Unicode characters, including supplementary characters, use the
2030 (|java.lang.Character|) method.
2033 ch - the character to be converted.
2035 Returns: the titlecase equivalent of the character, if any; otherwise, the character
2038 *java.lang.Character.toTitleCase(int)*
2040 public static int toTitleCase(int codePoint)
2042 Converts the character (Unicode code point) argument to titlecase using case
2043 mapping information from the UnicodeData file. If a character has no explicit
2044 titlecase mapping and is not itself a titlecase char according to UnicodeData,
2045 then the uppercase mapping is returned as an equivalent titlecase mapping. If
2046 the character argument is already a titlecase character, the same character
2047 value will be returned.
2049 Note that Character.isTitleCase(Character.toTitleCase(codePoint)) does not
2050 always return true for some ranges of characters.
2053 codePoint - the character (Unicode code point) to be converted.
2055 Returns: the titlecase equivalent of the character, if any; otherwise, the character
2058 *java.lang.Character.toUpperCase(char)*
2060 public static char toUpperCase(char ch)
2062 Converts the character argument to uppercase using case mapping information
2063 from the UnicodeData file.
2065 Note that Character.isUpperCase(Character.toUpperCase(ch)) does not always
2066 return true for some ranges of characters, particularly those that are symbols
2069 In general, (|java.lang.String|) should be used to map characters to uppercase.
2070 String case mapping methods have several benefits over Character case mapping
2071 methods. String case mapping methods can perform locale-sensitive mappings,
2072 context-sensitive mappings, and 1:M character mappings, whereas the Character
2073 case mapping methods cannot.
2075 Note: This method cannot handle supplementary characters. To support all
2076 Unicode characters, including supplementary characters, use the
2077 (|java.lang.Character|) method.
2080 ch - the character to be converted.
2082 Returns: the uppercase equivalent of the character, if any; otherwise, the character
2085 *java.lang.Character.toUpperCase(int)*
2087 public static int toUpperCase(int codePoint)
2089 Converts the character (Unicode code point) argument to uppercase using case
2090 mapping information from the UnicodeData file.
2092 Note that Character.isUpperCase(Character.toUpperCase(codePoint)) does not
2093 always return true for some ranges of characters, particularly those that are
2094 symbols or ideographs.
2096 In general, (|java.lang.String|) should be used to map characters to uppercase.
2097 String case mapping methods have several benefits over Character case mapping
2098 methods. String case mapping methods can perform locale-sensitive mappings,
2099 context-sensitive mappings, and 1:M character mappings, whereas the Character
2100 case mapping methods cannot.
2103 codePoint - the character (Unicode code point) to be converted.
2105 Returns: the uppercase equivalent of the character, if any; otherwise, the character
2108 *java.lang.Character.valueOf(char)*
2110 public static |java.lang.Character| valueOf(char c)
2112 Returns a Character instance representing the specified char value. If a new
2113 Character instance is not required, this method should generally be used in
2114 preference to the constructor (|java.lang.Character|) , as this method is
2115 likely to yield significantly better space and time performance by caching
2116 frequently requested values.
2121 Returns: a Character instance representing c.