Character.java revision 1607
1091N/A * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. Sun designates this 0N/A * particular file as subject to the "Classpath" exception as provided 0N/A * by Sun in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 0N/A * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 0N/A * CA 95054 USA or visit www.sun.com if you need additional information or 0N/A * have any questions. 0N/A * The <code>Character</code> class wraps a value of the primitive 0N/A * type <code>char</code> in an object. An object of type 0N/A * <code>Character</code> contains a single field whose type is 0N/A * <code>char</code>. 0N/A * In addition, this class provides several methods for determining 0N/A * a character's category (lowercase letter, digit, etc.) and for converting 0N/A * characters from uppercase to lowercase and vice versa. 1554N/A * Character information is based on the Unicode Standard, version 5.1.0. 0N/A * The methods and data of class <code>Character</code> are defined by 0N/A * the information in the <i>UnicodeData</i> file that is part of the 0N/A * Unicode Character Database maintained by the Unicode 0N/A * Consortium. This file specifies various properties including name 0N/A * and general category for every defined Unicode code point or 0N/A * The file and its description are available from the Unicode Consortium at: 0N/A * <h4><a name="unicode">Unicode Character Representations</a></h4> 0N/A * <p>The <code>char</code> data type (and therefore the value that a 0N/A * <code>Character</code> object encapsulates) are based on the 0N/A * original Unicode specification, which defined characters as 0N/A * fixed-width 16-bit entities. The Unicode standard has since been 0N/A * changed to allow for characters whose representation requires more 0N/A * than 16 bits. The range of legal <em>code point</em>s is now 0N/A * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>. 0N/A * definition</i></a> of the U+<i>n</i> notation in the Unicode 0N/A * <p>The set of characters from U+0000 to U+FFFF is sometimes 0N/A * referred to as the <em>Basic Multilingual Plane (BMP)</em>. <a 0N/A * name="supplementary">Characters</a> whose code points are greater 0N/A * than U+FFFF are called <em>supplementary character</em>s. The Java 0N/A * 2 platform uses the UTF-16 representation in <code>char</code> 0N/A * arrays and in the <code>String</code> and <code>StringBuffer</code> 0N/A * classes. In this representation, supplementary characters are 0N/A * represented as a pair of <code>char</code> values, the first from 0N/A * the <em>high-surrogates</em> range, (\uD800-\uDBFF), the 0N/A * second from the <em>low-surrogates</em> range 0N/A * (\uDC00-\uDFFF). 0N/A * <p>A <code>char</code> value, therefore, represents Basic 0N/A * Multilingual Plane (BMP) code points, including the surrogate 0N/A * code points, or code units of the UTF-16 encoding. An 0N/A * <code>int</code> value represents all Unicode code points, 0N/A * including supplementary code points. The lower (least significant) 0N/A * 21 bits of <code>int</code> are used to represent Unicode code 0N/A * points and the upper (most significant) 11 bits must be zero. 0N/A * Unless otherwise specified, the behavior with respect to 0N/A * supplementary characters and surrogate <code>char</code> values is 0N/A * <li>The methods that only accept a <code>char</code> value cannot support 0N/A * supplementary characters. They treat <code>char</code> values from the 0N/A * surrogate ranges as undefined characters. For example, 0N/A * <code>Character.isLetter('\uD840')</code> returns <code>false</code>, even though 0N/A * this specific value if followed by any low-surrogate value in a string 0N/A * would represent a letter. 0N/A * <li>The methods that accept an <code>int</code> value support all 0N/A * Unicode characters, including supplementary characters. For 0N/A * example, <code>Character.isLetter(0x2F81A)</code> returns 0N/A * <code>true</code> because the code point value represents a letter 0N/A * (a CJK ideograph). 0N/A * <p>In the Java SE API documentation, <em>Unicode code point</em> is 0N/A * used for character values in the range between U+0000 and U+10FFFF, 0N/A * and <em>Unicode code unit</em> is used for 16-bit 0N/A * <code>char</code> values that are code units of the <em>UTF-16</em> 0N/A * encoding. For more information on Unicode terminology, refer to the 0N/A * @author Lee Boynton 0N/A * @author Guy Steele 0N/A * @author Akira Tanaka 0N/A * The minimum radix available for conversion to and from strings. 0N/A * The constant value of this field is the smallest value permitted 0N/A * for the radix argument in radix-conversion methods such as the 0N/A * <code>digit</code> method, the <code>forDigit</code> 0N/A * method, and the <code>toString</code> method of class 0N/A * <code>Integer</code>. 0N/A * @see java.lang.Character#digit(char, int) 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Integer#toString(int, int) 0N/A * @see java.lang.Integer#valueOf(java.lang.String) 0N/A * The maximum radix available for conversion to and from strings. 0N/A * The constant value of this field is the largest value permitted 0N/A * for the radix argument in radix-conversion methods such as the 0N/A * <code>digit</code> method, the <code>forDigit</code> 0N/A * method, and the <code>toString</code> method of class 0N/A * <code>Integer</code>. 0N/A * @see java.lang.Character#digit(char, int) 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Integer#toString(int, int) 0N/A * @see java.lang.Integer#valueOf(java.lang.String) 0N/A * The constant value of this field is the smallest value of type 0N/A * <code>char</code>, <code>'\u0000'</code>. 0N/A * The constant value of this field is the largest value of type 0N/A * <code>char</code>, <code>'\uFFFF'</code>. 0N/A * The <code>Class</code> instance representing the primitive type 0N/A * <code>char</code>. 0N/A * Normative general types 0N/A * General character types 0N/A * General category "Cn" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Lu" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Ll" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Lt" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Lm" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Lo" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Mn" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Me" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Mc" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Nd" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Nl" in the Unicode specification. 0N/A public static final byte 0N/A * General category "No" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Zs" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Zl" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Zp" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Cc" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Cf" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Co" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Cs" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Pd" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Ps" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Pe" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Pc" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Po" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Sm" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Sc" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Sk" in the Unicode specification. 0N/A public static final byte 0N/A * General category "So" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Pi" in the Unicode specification. 0N/A public static final byte 0N/A * General category "Pf" in the Unicode specification. 0N/A public static final byte 0N/A * Error flag. Use int (code point) to avoid confusion with U+FFFF. 0N/A * Undefined bidirectional character type. Undefined <code>char</code> 0N/A * values have undefined directionality in the Unicode specification. 0N/A * Strong bidirectional character type "L" in the Unicode specification. 0N/A * Strong bidirectional character type "R" in the Unicode specification. 0N/A * Strong bidirectional character type "AL" in the Unicode specification. 0N/A * Weak bidirectional character type "EN" in the Unicode specification. 0N/A * Weak bidirectional character type "ES" in the Unicode specification. 0N/A * Weak bidirectional character type "ET" in the Unicode specification. 0N/A * Weak bidirectional character type "AN" in the Unicode specification. 0N/A * Weak bidirectional character type "CS" in the Unicode specification. 0N/A * Weak bidirectional character type "NSM" in the Unicode specification. 0N/A * Weak bidirectional character type "BN" in the Unicode specification. 0N/A * Neutral bidirectional character type "B" in the Unicode specification. 0N/A * Neutral bidirectional character type "S" in the Unicode specification. 0N/A * Neutral bidirectional character type "WS" in the Unicode specification. 0N/A * Neutral bidirectional character type "ON" in the Unicode specification. 0N/A * Strong bidirectional character type "LRE" in the Unicode specification. 0N/A * Strong bidirectional character type "LRO" in the Unicode specification. 0N/A * Strong bidirectional character type "RLE" in the Unicode specification. 0N/A * Strong bidirectional character type "RLO" in the Unicode specification. 0N/A * Weak bidirectional character type "PDF" in the Unicode specification. 1602N/A * Unicode high-surrogate code unit</a> 1602N/A * in the UTF-16 encoding, constant <code>'\uD800'</code>. 1602N/A * A high-surrogate is also known as a <i>leading-surrogate</i>. 1602N/A * Unicode high-surrogate code unit</a> 1602N/A * in the UTF-16 encoding, constant <code>'\uDBFF'</code>. 1602N/A * A high-surrogate is also known as a <i>leading-surrogate</i>. 1602N/A * Unicode low-surrogate code unit</a> 1602N/A * in the UTF-16 encoding, constant <code>'\uDC00'</code>. 1602N/A * A low-surrogate is also known as a <i>trailing-surrogate</i>. 1602N/A * Unicode low-surrogate code unit</a> 1602N/A * in the UTF-16 encoding, constant <code>'\uDFFF'</code>. 1602N/A * A low-surrogate is also known as a <i>trailing-surrogate</i>. 1602N/A * The minimum value of a Unicode surrogate code unit in the 1602N/A * UTF-16 encoding, constant <code>'\uD800'</code>. 1602N/A * The maximum value of a Unicode surrogate code unit in the 1602N/A * UTF-16 encoding, constant <code>'\uDFFF'</code>. 1602N/A * Unicode supplementary code point</a>, constant {@code U+10000}. 1602N/A * Unicode code point</a>, constant {@code U+0000}. 1602N/A * Unicode code point</a>, constant {@code U+10FFFF}. 0N/A * Instances of this class represent particular subsets of the Unicode 0N/A * character set. The only family of subsets defined in the 0N/A * <code>Character</code> class is <code>{@link Character.UnicodeBlock 0N/A * UnicodeBlock}</code>. Other portions of the Java API may define other 0N/A * subsets for their own purposes. 0N/A * Constructs a new <code>Subset</code> instance. 0N/A * @exception NullPointerException if name is <code>null</code> 0N/A * @param name The name of this subset 0N/A * Compares two <code>Subset</code> objects for equality. 0N/A * This method returns <code>true</code> if and only if 0N/A * <code>this</code> and the argument refer to the same 0N/A * object; since this method is <code>final</code>, this 0N/A * guarantee holds for all subclasses. 0N/A * Returns the standard hash code as defined by the 0N/A * <code>{@link Object#hashCode}</code> method. This method 0N/A * is <code>final</code> in order to ensure that the 0N/A * <code>equals</code> and <code>hashCode</code> methods will 0N/A * be consistent in all subclasses. 0N/A * Returns the name of this subset. 0N/A * A family of character subsets representing the character blocks in the 0N/A * Unicode specification. Character blocks generally define characters 0N/A * used for a specific script or purpose. A character is contained by 0N/A * at most one Unicode block. 0N/A * Create a UnicodeBlock with the given identifier name. 0N/A * This name must be the same as the block identifier. 0N/A * Create a UnicodeBlock with the given identifier name and 0N/A * Create a UnicodeBlock with the given identifier name and 0N/A * Constant for the "Basic Latin" Unicode character block. 0N/A * Constant for the "Latin-1 Supplement" Unicode character block. 0N/A * Constant for the "Latin Extended-A" Unicode character block. 0N/A * Constant for the "Latin Extended-B" Unicode character block. 0N/A * Constant for the "IPA Extensions" Unicode character block. 0N/A * Constant for the "Spacing Modifier Letters" Unicode character block. 0N/A "SpacingModifierLetters"});
0N/A * Constant for the "Combining Diacritical Marks" Unicode character block. 0N/A "CombiningDiacriticalMarks" });
0N/A * Constant for the "Greek and Coptic" Unicode character block. 0N/A * This block was previously known as the "Greek" block. 0N/A * Constant for the "Cyrillic" Unicode character block. 0N/A * Constant for the "Armenian" Unicode character block. 0N/A * Constant for the "Hebrew" Unicode character block. 0N/A * Constant for the "Arabic" Unicode character block. 0N/A * Constant for the "Devanagari" Unicode character block. 0N/A * Constant for the "Bengali" Unicode character block. 0N/A * Constant for the "Gurmukhi" Unicode character block. 0N/A * Constant for the "Gujarati" Unicode character block. 0N/A * Constant for the "Oriya" Unicode character block. 0N/A * Constant for the "Tamil" Unicode character block. 0N/A * Constant for the "Telugu" Unicode character block. 0N/A * Constant for the "Kannada" Unicode character block. 0N/A * Constant for the "Malayalam" Unicode character block. 0N/A * Constant for the "Thai" Unicode character block. 0N/A * Constant for the "Lao" Unicode character block. 0N/A * Constant for the "Tibetan" Unicode character block. 0N/A * Constant for the "Georgian" Unicode character block. 0N/A * Constant for the "Hangul Jamo" Unicode character block. 0N/A * Constant for the "Latin Extended Additional" Unicode character block. 0N/A "LatinExtendedAdditional"});
0N/A * Constant for the "Greek Extended" Unicode character block. 0N/A * Constant for the "General Punctuation" Unicode character block. 0N/A * Constant for the "Superscripts and Subscripts" Unicode character block. 0N/A "SuperscriptsandSubscripts" });
0N/A * Constant for the "Currency Symbols" Unicode character block. 0N/A * Constant for the "Combining Diacritical Marks for Symbols" Unicode character block. 0N/A * This block was previously known as "Combining Marks for Symbols". 1091N/A "CombiningDiacriticalMarksforSymbols",
1091N/A "Combining Marks for Symbols",
1091N/A "CombiningMarksforSymbols" });
0N/A * Constant for the "Letterlike Symbols" Unicode character block. 0N/A * Constant for the "Number Forms" Unicode character block. 0N/A * Constant for the "Arrows" Unicode character block. 0N/A * Constant for the "Mathematical Operators" Unicode character block. 0N/A "MathematicalOperators"});
0N/A * Constant for the "Miscellaneous Technical" Unicode character block. 0N/A "MiscellaneousTechnical"});
0N/A * Constant for the "Control Pictures" Unicode character block. 0N/A * Constant for the "Optical Character Recognition" Unicode character block. 0N/A "OpticalCharacterRecognition"});
0N/A * Constant for the "Enclosed Alphanumerics" Unicode character block. 0N/A "EnclosedAlphanumerics"});
0N/A * Constant for the "Box Drawing" Unicode character block. 0N/A * Constant for the "Block Elements" Unicode character block. 0N/A * Constant for the "Geometric Shapes" Unicode character block. 0N/A * Constant for the "Miscellaneous Symbols" Unicode character block. 0N/A "MiscellaneousSymbols"});
0N/A * Constant for the "Dingbats" Unicode character block. 0N/A * Constant for the "CJK Symbols and Punctuation" Unicode character block. 0N/A "CJKSymbolsandPunctuation"});
0N/A * Constant for the "Hiragana" Unicode character block. 0N/A * Constant for the "Katakana" Unicode character block. 0N/A * Constant for the "Bopomofo" Unicode character block. 0N/A * Constant for the "Hangul Compatibility Jamo" Unicode character block. 0N/A "HangulCompatibilityJamo"});
0N/A * Constant for the "Kanbun" Unicode character block. 0N/A * Constant for the "Enclosed CJK Letters and Months" Unicode character block. 0N/A "EnclosedCJKLettersandMonths"});
0N/A * Constant for the "CJK Compatibility" Unicode character block. 0N/A * Constant for the "CJK Unified Ideographs" Unicode character block. 0N/A "CJKUnifiedIdeographs"});
0N/A * Constant for the "Hangul Syllables" Unicode character block. 0N/A * Constant for the "Private Use Area" Unicode character block. 0N/A * Constant for the "CJK Compatibility Ideographs" Unicode character block. 0N/A new String[] {
"CJK Compatibility Ideographs",
0N/A "CJKCompatibilityIdeographs"});
0N/A * Constant for the "Alphabetic Presentation Forms" Unicode character block. 0N/A "AlphabeticPresentationForms"});
0N/A * Constant for the "Arabic Presentation Forms-A" Unicode character block. 0N/A "ArabicPresentationForms-A"});
0N/A * Constant for the "Combining Half Marks" Unicode character block. 0N/A "CombiningHalfMarks"});
0N/A * Constant for the "CJK Compatibility Forms" Unicode character block. 0N/A "CJKCompatibilityForms"});
0N/A * Constant for the "Small Form Variants" Unicode character block. 0N/A "SmallFormVariants"});
0N/A * Constant for the "Arabic Presentation Forms-B" Unicode character block. 0N/A "ArabicPresentationForms-B"});
0N/A * Constant for the "Halfwidth and Fullwidth Forms" Unicode character block. 0N/A new String[] {
"Halfwidth and Fullwidth Forms",
0N/A "HalfwidthandFullwidthForms"});
0N/A * Constant for the "Specials" Unicode character block. 0N/A * @deprecated As of J2SE 5, use {@link #HIGH_SURROGATES}, 0N/A * {@link #HIGH_PRIVATE_USE_SURROGATES}, and 0N/A * {@link #LOW_SURROGATES}. These new constants match 0N/A * the block definitions of the Unicode Standard. 0N/A * The {@link #of(char)} and {@link #of(int)} methods 0N/A * return the new constants, not SURROGATES_AREA. 0N/A * Constant for the "Syriac" Unicode character block. 0N/A * Constant for the "Thaana" Unicode character block. 0N/A * Constant for the "Sinhala" Unicode character block. 0N/A * Constant for the "Myanmar" Unicode character block. 0N/A * Constant for the "Ethiopic" Unicode character block. 0N/A * Constant for the "Cherokee" Unicode character block. 0N/A * Constant for the "Unified Canadian Aboriginal Syllabics" Unicode character block. 0N/A new String[] {
"Unified Canadian Aboriginal Syllabics",
0N/A "UnifiedCanadianAboriginalSyllabics"});
0N/A * Constant for the "Ogham" Unicode character block. 0N/A * Constant for the "Runic" Unicode character block. 0N/A * Constant for the "Khmer" Unicode character block. 0N/A * Constant for the "Mongolian" Unicode character block. 0N/A * Constant for the "Braille Patterns" Unicode character block. 0N/A "BraillePatterns"});
0N/A * Constant for the "CJK Radicals Supplement" Unicode character block. 0N/A "CJKRadicalsSupplement"});
0N/A * Constant for the "Kangxi Radicals" Unicode character block. 0N/A * Constant for the "Ideographic Description Characters" Unicode character block. 0N/A new UnicodeBlock(
"IDEOGRAPHIC_DESCRIPTION_CHARACTERS",
new String[] {
"Ideographic Description Characters",
0N/A "IdeographicDescriptionCharacters"});
0N/A * Constant for the "Bopomofo Extended" Unicode character block. 0N/A "BopomofoExtended"});
0N/A * Constant for the "CJK Unified Ideographs Extension A" Unicode character block. 0N/A new UnicodeBlock(
"CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A",
new String[] {
"CJK Unified Ideographs Extension A",
0N/A "CJKUnifiedIdeographsExtensionA"});
0N/A * Constant for the "Yi Syllables" Unicode character block. 0N/A * Constant for the "Yi Radicals" Unicode character block. 0N/A * Constant for the "Cyrillic Supplementary" Unicode character block. 0N/A * Constant for the "Tagalog" Unicode character block. 0N/A * Constant for the "Hanunoo" Unicode character block. 0N/A * Constant for the "Buhid" Unicode character block. 0N/A * Constant for the "Tagbanwa" Unicode character block. 0N/A * Constant for the "Limbu" Unicode character block. 0N/A * Constant for the "Tai Le" Unicode character block. 0N/A * Constant for the "Khmer Symbols" Unicode character block. 0N/A * Constant for the "Phonetic Extensions" Unicode character block. 0N/A * Constant for the "Miscellaneous Mathematical Symbols-A" Unicode character block. 0N/A new String[]{
"Miscellaneous Mathematical Symbols-A",
0N/A "MiscellaneousMathematicalSymbols-A"});
0N/A * Constant for the "Supplemental Arrows-A" Unicode character block. 0N/A "SupplementalArrows-A"});
0N/A * Constant for the "Supplemental Arrows-B" Unicode character block. 0N/A "SupplementalArrows-B"});
0N/A * Constant for the "Miscellaneous Mathematical Symbols-B" Unicode character block. 0N/A new String[] {
"Miscellaneous Mathematical Symbols-B",
0N/A "MiscellaneousMathematicalSymbols-B"});
0N/A * Constant for the "Supplemental Mathematical Operators" Unicode character block. 0N/A new String[]{
"Supplemental Mathematical Operators",
0N/A "SupplementalMathematicalOperators"} );
0N/A * Constant for the "Miscellaneous Symbols and Arrows" Unicode character block. 0N/A "MiscellaneousSymbolsandArrows"});
0N/A * Constant for the "Katakana Phonetic Extensions" Unicode character block. 0N/A "KatakanaPhoneticExtensions"});
0N/A * Constant for the "Yijing Hexagram Symbols" Unicode character block. 0N/A "YijingHexagramSymbols"});
0N/A * Constant for the "Variation Selectors" Unicode character block. 0N/A * Constant for the "Linear B Syllabary" Unicode character block. 0N/A * Constant for the "Linear B Ideograms" Unicode character block. 0N/A * Constant for the "Aegean Numbers" Unicode character block. 0N/A * Constant for the "Old Italic" Unicode character block. 0N/A * Constant for the "Gothic" Unicode character block. 0N/A * Constant for the "Ugaritic" Unicode character block. 0N/A * Constant for the "Deseret" Unicode character block. 0N/A * Constant for the "Shavian" Unicode character block. 0N/A * Constant for the "Osmanya" Unicode character block. 0N/A * Constant for the "Cypriot Syllabary" Unicode character block. 0N/A * Constant for the "Byzantine Musical Symbols" Unicode character block. 0N/A "ByzantineMusicalSymbols"});
0N/A * Constant for the "Musical Symbols" Unicode character block. 0N/A * Constant for the "Tai Xuan Jing Symbols" Unicode character block. 0N/A "TaiXuanJingSymbols"});
0N/A * Constant for the "Mathematical Alphanumeric Symbols" Unicode character block. 0N/A new String[] {
"Mathematical Alphanumeric Symbols",
"MathematicalAlphanumericSymbols"});
0N/A * Constant for the "CJK Unified Ideographs Extension B" Unicode character block. 0N/A new String[] {
"CJK Unified Ideographs Extension B",
"CJKUnifiedIdeographsExtensionB"});
0N/A * Constant for the "CJK Compatibility Ideographs Supplement" Unicode character block. 0N/A new String[]{
"CJK Compatibility Ideographs Supplement",
0N/A "CJKCompatibilityIdeographsSupplement"});
0N/A * Constant for the "Tags" Unicode character block. 0N/A * Constant for the "Variation Selectors Supplement" Unicode character block. 0N/A "VariationSelectorsSupplement"});
0N/A * Constant for the "Supplementary Private Use Area-A" Unicode character block. 0N/A new String[] {
"Supplementary Private Use Area-A",
0N/A "SupplementaryPrivateUseArea-A"});
0N/A * Constant for the "Supplementary Private Use Area-B" Unicode character block. 0N/A new String[] {
"Supplementary Private Use Area-B",
0N/A "SupplementaryPrivateUseArea-B"});
0N/A * Constant for the "High Surrogates" Unicode character block. 0N/A * This block represents codepoint values in the high surrogate 0N/A * range: 0xD800 through 0xDB7F 0N/A * Constant for the "High Private Use Surrogates" Unicode character block. 0N/A * This block represents codepoint values in the high surrogate 0N/A * range: 0xDB80 through 0xDBFF 0N/A "HighPrivateUseSurrogates"});
0N/A * Constant for the "Low Surrogates" Unicode character block. 0N/A * This block represents codepoint values in the high surrogate 0N/A * range: 0xDC00 through 0xDFFF 1091N/A * Constant for the "Arabic Supplement" Unicode character block. 1091N/A * Constant for the "NKo" Unicode character block. 1091N/A * Constant for the "Ethiopic Supplement" Unicode character block. 1091N/A * Constant for the "New Tai Lue" Unicode character block. 1091N/A * Constant for the "Buginese" Unicode character block. 1091N/A * Constant for the "Balinese" Unicode character block. 1091N/A * Constant for the "Sundanese" Unicode character block. 1091N/A * Constant for the "Lepcha" Unicode character block. 1091N/A * Constant for the "Ol Chiki" Unicode character block. 1091N/A * Constant for the "Phonetic Extensions Supplement" Unicode character 1091N/A "PhoneticExtensionsSupplement"});
1091N/A * Constant for the "Combining Diacritical Marks Supplement" Unicode 1091N/A "CombiningDiacriticalMarksSupplement"});
1091N/A * Constant for the "Glagolitic" Unicode character block. 1091N/A * Constant for the "Latin Extended-C" Unicode character block. 1091N/A * Constant for the "Coptic" Unicode character block. 1091N/A * Constant for the "Georgian Supplement" Unicode character block. 1091N/A * Constant for the "Tifinagh" Unicode character block. 1091N/A * Constant for the "Ethiopic Extended" Unicode character block. 1091N/A * Constant for the "Cyrillic Extended-A" Unicode character block. 1091N/A * Constant for the "Supplemental Punctuation" Unicode character block. 1091N/A "SupplementalPunctuation"});
1091N/A * Constant for the "CJK Strokes" Unicode character block. 1091N/A * Constant for the "Vai" Unicode character block. 1091N/A * Constant for the "Cyrillic Extended-B" Unicode character block. 1091N/A * Constant for the "Modifier Tone Letters" Unicode character block. 1091N/A * Constant for the "Latin Extended-D" Unicode character block. 1091N/A * Constant for the "Syloti Nagri" Unicode character block. 1091N/A * Constant for the "Phags-pa" Unicode character block. 1091N/A * Constant for the "Saurashtra" Unicode character block. 1091N/A * Constant for the "Kayah Li" Unicode character block. 1091N/A * Constant for the "Rejang" Unicode character block. 1091N/A * Constant for the "Cham" Unicode character block. 1091N/A * Constant for the "Vertical Forms" Unicode character block. 1091N/A * Constant for the "Ancient Greek Numbers" Unicode character block. 1091N/A * Constant for the "Ancient Symbols" Unicode character block. 1091N/A * Constant for the "Phaistos Disc" Unicode character block. 1091N/A * Constant for the "Lycian" Unicode character block. 1091N/A * Constant for the "Carian" Unicode character block. 1091N/A * Constant for the "Old Persian" Unicode character block. 1091N/A * Constant for the "Phoenician" Unicode character block. 1091N/A * Constant for the "Lydian" Unicode character block. 1091N/A * Constant for the "Kharoshthi" Unicode character block. 1091N/A * Constant for the "Cuneiform" Unicode character block. 1091N/A * Constant for the "Cuneiform Numbers and Punctuation" Unicode 1091N/A "CuneiformNumbersandPunctuation"});
1091N/A * Constant for the "Ancient Greek Musical Notation" Unicode character 1091N/A "AncientGreekMusicalNotation"});
1091N/A * Constant for the "Counting Rod Numerals" Unicode character block. 1091N/A * Constant for the "Mahjong Tiles" Unicode character block. 1091N/A * Constant for the "Domino Tiles" Unicode character block. 1091N/A 0x0000,
// 0000..007F; Basic Latin 1091N/A 0x0080,
// 0080..00FF; Latin-1 Supplement 1091N/A 0x0100,
// 0100..017F; Latin Extended-A 1091N/A 0x0180,
// 0180..024F; Latin Extended-B 1091N/A 0x0250,
// 0250..02AF; IPA Extensions 1091N/A 0x02B0,
// 02B0..02FF; Spacing Modifier Letters 1091N/A 0x0300,
// 0300..036F; Combining Diacritical Marks 1091N/A 0x0370,
// 0370..03FF; Greek and Coptic 1091N/A 0x0400,
// 0400..04FF; Cyrillic 1091N/A 0x0500,
// 0500..052F; Cyrillic Supplement 1091N/A 0x0530,
// 0530..058F; Armenian 1091N/A 0x0590,
// 0590..05FF; Hebrew 1091N/A 0x0600,
// 0600..06FF; Arabic 1091N/A 0x0700,
// 0700..074F; Syria 1091N/A 0x0750,
// 0750..077F; Arabic Supplement 1091N/A 0x0780,
// 0780..07BF; Thaana 1091N/A 0x0900,
// 0900..097F; Devanagari 1091N/A 0x0980,
// 0980..09FF; Bengali 1091N/A 0x0A00,
// 0A00..0A7F; Gurmukhi 1091N/A 0x0A80,
// 0A80..0AFF; Gujarati 1091N/A 0x0B00,
// 0B00..0B7F; Oriya 1091N/A 0x0B80,
// 0B80..0BFF; Tamil 1091N/A 0x0C00,
// 0C00..0C7F; Telugu 1091N/A 0x0C80,
// 0C80..0CFF; Kannada 1091N/A 0x0D00,
// 0D00..0D7F; Malayalam 1091N/A 0x0D80,
// 0D80..0DFF; Sinhala 1091N/A 0x0E00,
// 0E00..0E7F; Thai 1091N/A 0x0F00,
// 0F00..0FFF; Tibetan 1091N/A 0x1000,
// 1000..109F; Myanmar 1091N/A 0x10A0,
// 10A0..10FF; Georgian 1091N/A 0x1100,
// 1100..11FF; Hangul Jamo 1091N/A 0x1200,
// 1200..137F; Ethiopic 1091N/A 0x1380,
// 1380..139F; Ethiopic Supplement 1091N/A 0x13A0,
// 13A0..13FF; Cherokee 1091N/A 0x1400,
// 1400..167F; Unified Canadian Aboriginal Syllabics 1091N/A 0x1680,
// 1680..169F; Ogham 1091N/A 0x16A0,
// 16A0..16FF; Runic 1091N/A 0x1700,
// 1700..171F; Tagalog 1091N/A 0x1720,
// 1720..173F; Hanunoo 1091N/A 0x1740,
// 1740..175F; Buhid 1091N/A 0x1760,
// 1760..177F; Tagbanwa 1091N/A 0x1780,
// 1780..17FF; Khmer 1091N/A 0x1800,
// 1800..18AF; Mongolian 1091N/A 0x1900,
// 1900..194F; Limbu 1091N/A 0x1950,
// 1950..197F; Tai Le 1091N/A 0x1980,
// 1980..19DF; New Tai Lue 1091N/A 0x19E0,
// 19E0..19FF; Khmer Symbols 1091N/A 0x1A00,
// 1A00..1A1F; Buginese 1091N/A 0x1B00,
// 1B00..1B7F; Balinese 1091N/A 0x1B80,
// 1B80..1BBF; Sundanese 1091N/A 0x1C00,
// 1C00..1C4F; Lepcha 1091N/A 0x1C50,
// 1C50..1C7F; Ol Chiki 1091N/A 0x1D00,
// 1D00..1D7F; Phonetic Extensions 1091N/A 0x1D80,
// 1D80..1DBF; Phonetic Extensions Supplement 1091N/A 0x1DC0,
// 1DC0..1DFF; Combining Diacritical Marks Supplement 1091N/A 0x1E00,
// 1E00..1EFF; Latin Extended Additional 1091N/A 0x1F00,
// 1F00..1FFF; Greek Extended 1091N/A 0x2000,
// 2000..206F; General Punctuation 1091N/A 0x2070,
// 2070..209F; Superscripts and Subscripts 1091N/A 0x20A0,
// 20A0..20CF; Currency Symbols 1091N/A 0x20D0,
// 20D0..20FF; Combining Diacritical Marks for Symbols 1091N/A 0x2100,
// 2100..214F; Letterlike Symbols 1091N/A 0x2150,
// 2150..218F; Number Forms 1091N/A 0x2190,
// 2190..21FF; Arrows 1091N/A 0x2200,
// 2200..22FF; Mathematical Operators 1091N/A 0x2300,
// 2300..23FF; Miscellaneous Technical 1091N/A 0x2400,
// 2400..243F; Control Pictures 1091N/A 0x2440,
// 2440..245F; Optical Character Recognition 1091N/A 0x2460,
// 2460..24FF; Enclosed Alphanumerics 1091N/A 0x2500,
// 2500..257F; Box Drawing 1091N/A 0x2580,
// 2580..259F; Block Elements 1091N/A 0x25A0,
// 25A0..25FF; Geometric Shapes 1091N/A 0x2600,
// 2600..26FF; Miscellaneous Symbols 1091N/A 0x2700,
// 2700..27BF; Dingbats 1091N/A 0x27C0,
// 27C0..27EF; Miscellaneous Mathematical Symbols-A 1091N/A 0x27F0,
// 27F0..27FF; Supplemental Arrows-A 1091N/A 0x2800,
// 2800..28FF; Braille Patterns 1091N/A 0x2900,
// 2900..297F; Supplemental Arrows-B 1091N/A 0x2980,
// 2980..29FF; Miscellaneous Mathematical Symbols-B 1091N/A 0x2A00,
// 2A00..2AFF; Supplemental Mathematical Operators 1091N/A 0x2B00,
// 2B00..2BFF; Miscellaneous Symbols and Arrows 1091N/A 0x2C00,
// 2C00..2C5F; Glagolitic 1091N/A 0x2C60,
// 2C60..2C7F; Latin Extended-C 1091N/A 0x2C80,
// 2C80..2CFF; Coptic 1091N/A 0x2D00,
// 2D00..2D2F; Georgian Supplement 1091N/A 0x2D30,
// 2D30..2D7F; Tifinagh 1091N/A 0x2D80,
// 2D80..2DDF; Ethiopic Extended 1091N/A 0x2DE0,
// 2DE0..2DFF; Cyrillic Extended-A 1091N/A 0x2E00,
// 2E00..2E7F; Supplemental Punctuation 1091N/A 0x2E80,
// 2E80..2EFF; CJK Radicals Supplement 1091N/A 0x2F00,
// 2F00..2FDF; Kangxi Radicals 1091N/A 0x2FF0,
// 2FF0..2FFF; Ideographic Description Characters 1091N/A 0x3000,
// 3000..303F; CJK Symbols and Punctuation 1091N/A 0x3040,
// 3040..309F; Hiragana 1091N/A 0x30A0,
// 30A0..30FF; Katakana 1091N/A 0x3100,
// 3100..312F; Bopomofo 1091N/A 0x3130,
// 3130..318F; Hangul Compatibility Jamo 1091N/A 0x3190,
// 3190..319F; Kanbun 1091N/A 0x31A0,
// 31A0..31BF; Bopomofo Extended 1091N/A 0x31C0,
// 31C0..31EF; CJK Strokes 1091N/A 0x31F0,
// 31F0..31FF; Katakana Phonetic Extensions 1091N/A 0x3200,
// 3200..32FF; Enclosed CJK Letters and Months 1091N/A 0x3300,
// 3300..33FF; CJK Compatibility 1091N/A 0x3400,
// 3400..4DBF; CJK Unified Ideographs Extension A 1091N/A 0x4DC0,
// 4DC0..4DFF; Yijing Hexagram Symbols 1091N/A 0x4E00,
// 4E00..9FFF; CJK Unified Ideograph 1091N/A 0xA000,
// A000..A48F; Yi Syllables 1091N/A 0xA490,
// A490..A4CF; Yi Radicals 1091N/A 0xA640,
// A640..A69F; Cyrillic Extended-B 1091N/A 0xA700,
// A700..A71F; Modifier Tone Letters 1091N/A 0xA720,
// A720..A7FF; Latin Extended-D 1091N/A 0xA800,
// A800..A82F; Syloti Nagri 1091N/A 0xA840,
// A840..A87F; Phags-pa 1091N/A 0xA880,
// A880..A8DF; Saurashtra 1091N/A 0xA900,
// A900..A92F; Kayah Li 1091N/A 0xA930,
// A930..A95F; Rejang 1091N/A 0xAA00,
// AA00..AA5F; Cham 1091N/A 0xAC00,
// AC00..D7AF; Hangul Syllables 1091N/A 0xD800,
// D800..DB7F; High Surrogates 1091N/A 0xDB80,
// DB80..DBFF; High Private Use Surrogates 1091N/A 0xDC00,
// DC00..DFFF; Low Surrogates 1091N/A 0xE000,
// E000..F8FF; Private Use Area 1091N/A 0xF900,
// F900..FAFF; CJK Compatibility Ideographs 1091N/A 0xFB00,
// FB00..FB4F; Alphabetic Presentation Forms 1091N/A 0xFB50,
// FB50..FDFF; Arabic Presentation Forms-A 1091N/A 0xFE00,
// FE00..FE0F; Variation Selectors 1091N/A 0xFE10,
// FE10..FE1F; Vertical Forms 1091N/A 0xFE20,
// FE20..FE2F; Combining Half Marks 1091N/A 0xFE30,
// FE30..FE4F; CJK Compatibility Forms 1091N/A 0xFE50,
// FE50..FE6F; Small Form Variants 1091N/A 0xFE70,
// FE70..FEFF; Arabic Presentation Forms-B 1091N/A 0xFF00,
// FF00..FFEF; Halfwidth and Fullwidth Forms 1091N/A 0xFFF0,
// FFF0..FFFF; Specials 1091N/A 0x10000,
// 10000..1007F; Linear B Syllabary 1091N/A 0x10080,
// 10080..100FF; Linear B Ideograms 1091N/A 0x10100,
// 10100..1013F; Aegean Numbers 1091N/A 0x10140,
// 10140..1018F; Ancient Greek Numbers 1091N/A 0x10190,
// 10190..101CF; Ancient Symbols 1091N/A 0x101D0,
// 101D0..101FF; Phaistos Disc 1091N/A 0x10280,
// 10280..1029F; Lycian 1091N/A 0x102A0,
// 102A0..102DF; Carian 1091N/A 0x10300,
// 10300..1032F; Old Italic 1091N/A 0x10330,
// 10330..1034F; Gothic 1091N/A 0x10380,
// 10380..1039F; Ugaritic 1091N/A 0x103A0,
// 103A0..103DF; Old Persian 1091N/A 0x10400,
// 10400..1044F; Desere 1091N/A 0x10450,
// 10450..1047F; Shavian 1091N/A 0x10480,
// 10480..104AF; Osmanya 1091N/A 0x10800,
// 10800..1083F; Cypriot Syllabary 1091N/A 0x10900,
// 10900..1091F; Phoenician 1091N/A 0x10920,
// 10920..1093F; Lydian 1091N/A 0x10A00,
// 10A00..10A5F; Kharoshthi 1091N/A 0x12000,
// 12000..123FF; Cuneiform 1091N/A 0x12400,
// 12400..1247F; Cuneiform Numbers and Punctuation 1091N/A 0x1D000,
// 1D000..1D0FF; Byzantine Musical Symbols 1091N/A 0x1D100,
// 1D100..1D1FF; Musical Symbols 1091N/A 0x1D200,
// 1D200..1D24F; Ancient Greek Musical Notation 1091N/A 0x1D300,
// 1D300..1D35F; Tai Xuan Jing Symbols 1091N/A 0x1D360,
// 1D360..1D37F; Counting Rod Numerals 1091N/A 0x1D400,
// 1D400..1D7FF; Mathematical Alphanumeric Symbols 1091N/A 0x1F000,
// 1F000..1F02F; Mahjong Tiles 1091N/A 0x1F030,
// 1F030..1F09F; Domino Tiles 1091N/A 0x20000,
// 20000..2A6DF; CJK Unified Ideographs Extension B 1091N/A 0x2F800,
// 2F800..2FA1F; CJK Compatibility Ideographs Supplement 1091N/A 0xE0000,
// E0000..E007F; Tags 1091N/A 0xE0100,
// E0100..E01EF; Variation Selectors Supplement 1091N/A 0xF0000,
// F0000..FFFFF; Supplementary Private Use Area-A 1091N/A 0x100000,
// 100000..10FFFF; Supplementary Private Use Area-B 0N/A * Returns the object representing the Unicode block containing the 0N/A * given character, or <code>null</code> if the character is not a 0N/A * member of a defined block. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * characters</a>. To support all Unicode characters, 0N/A * including supplementary characters, use the {@link 0N/A * @param c The character in question 0N/A * @return The <code>UnicodeBlock</code> instance representing the 0N/A * Unicode block of which this character is a member, or 0N/A * <code>null</code> if the character is not a member of any 0N/A * Returns the object representing the Unicode block 0N/A * containing the given character (Unicode code point), or 0N/A * <code>null</code> if the character is not a member of a 0N/A * @param codePoint the character (Unicode code point) in question. 0N/A * @return The <code>UnicodeBlock</code> instance representing the 0N/A * Unicode block of which this character is a member, or 0N/A * <code>null</code> if the character is not a member of any 0N/A * @exception IllegalArgumentException if the specified 0N/A * <code>codePoint</code> is an invalid Unicode code point. 0N/A * @see Character#isValidCodePoint(int) 0N/A // invariant: top > current >= bottom && codePoint >= unicodeBlockStarts[bottom] 0N/A * Returns the UnicodeBlock with the given name. Block 0N/A * names are determined by The Unicode Standard. The file 0N/A * Blocks-<version>.txt defines blocks for a particular 0N/A * version of the standard. The {@link Character} class specifies 0N/A * the version of the standard that it supports. 0N/A * This method accepts block names in the following forms: 0N/A * <li> Canonical block names as defined by the Unicode Standard. 0N/A * For example, the standard defines a "Basic Latin" block. Therefore, this 0N/A * method accepts "Basic Latin" as a valid block name. The documentation of 0N/A * each UnicodeBlock provides the canonical name. 0N/A * <li>Canonical block names with all spaces removed. For example, "BasicLatin" 0N/A * is a valid block name for the "Basic Latin" block. 0N/A * <li>The text representation of each constant UnicodeBlock identifier. 0N/A * For example, this method will return the {@link #BASIC_LATIN} block if 0N/A * provided with the "BASIC_LATIN" name. This form replaces all spaces and 0N/A * hyphens in the canonical name with underscores. 0N/A * Finally, character case is ignored for all of the valid block name forms. 0N/A * For example, "BASIC_LATIN" and "basic_latin" are both valid block names. 0N/A * The en_US locale's case mapping rules are used to provide case-insensitive 0N/A * string comparisons for block name validation. 0N/A * If the Unicode Standard changes block names, both the previous and 0N/A * current names will be accepted. 0N/A * @param blockName A <code>UnicodeBlock</code> name. 0N/A * @return The <code>UnicodeBlock</code> instance identified 0N/A * by <code>blockName</code> 0N/A * @throws IllegalArgumentException if <code>blockName</code> is an 0N/A * @throws NullPointerException if <code>blockName</code> is null 0N/A * The value of the <code>Character</code>. 0N/A /** use serialVersionUID from JDK 1.0.2 for interoperability */ 0N/A * Constructs a newly allocated <code>Character</code> object that 0N/A * represents the specified <code>char</code> value. 0N/A * @param value the value to be represented by the 0N/A * <code>Character</code> object. 0N/A * Returns a <tt>Character</tt> instance representing the specified 0N/A * <tt>char</tt> value. 0N/A * If a new <tt>Character</tt> instance is not required, this method 0N/A * should generally be used in preference to the constructor 0N/A * {@link #Character(char)}, as this method is likely to yield 0N/A * significantly better space and time performance by caching 0N/A * frequently requested values. 1607N/A * This method will always cache values in the range {@code 1607N/A * '\u005Cu0000'} to {@code '\u005Cu007f'}, inclusive, and may 1607N/A * cache other values outside of this range. 0N/A * @param c a char value. 0N/A * @return a <tt>Character</tt> instance representing <tt>c</tt>. 0N/A if(c <=
127) {
// must cache 0N/A * Returns the value of this <code>Character</code> object. 0N/A * @return the primitive <code>char</code> value represented by 0N/A * Returns a hash code for this <code>Character</code>. 0N/A * @return a hash code value for this object. 0N/A * Compares this object against the specified object. 0N/A * The result is <code>true</code> if and only if the argument is not 0N/A * <code>null</code> and is a <code>Character</code> object that 0N/A * represents the same <code>char</code> value as this object. 0N/A * @param obj the object to compare with. 0N/A * @return <code>true</code> if the objects are the same; 0N/A * <code>false</code> otherwise. 0N/A * Returns a <code>String</code> object representing this 0N/A * <code>Character</code>'s value. The result is a string of 0N/A * length 1 whose sole component is the primitive 0N/A * <code>char</code> value represented by this 0N/A * <code>Character</code> object. 0N/A * @return a string representation of this object. 0N/A * Returns a <code>String</code> object representing the 0N/A * specified <code>char</code>. The result is a string of length 0N/A * 1 consisting solely of the specified <code>char</code>. 0N/A * @param c the <code>char</code> to be converted 0N/A * @return the string representation of the specified <code>char</code> 1602N/A * Determines whether the specified code point is a valid 1602N/A * Unicode code point value</a>. 0N/A * @param codePoint the Unicode code point to be tested 1602N/A * @return {@code true} if the specified code point value is between 1602N/A * {@link #MIN_CODE_POINT} and 1602N/A * {@link #MAX_CODE_POINT} inclusive; 0N/A * Determines whether the specified character (Unicode code point) 1602N/A * is in the <a href="#supplementary">supplementary character</a> range. 0N/A * @param codePoint the character (Unicode code point) to be tested 1602N/A * @return {@code true} if the specified code point is between 1602N/A * {@link #MIN_SUPPLEMENTARY_CODE_POINT} and 1602N/A * {@link #MAX_CODE_POINT} inclusive; 1602N/A * Determines if the given {@code char} value is a 1602N/A * Unicode high-surrogate code unit</a> 1602N/A * (also known as <i>leading-surrogate code unit</i>). 1602N/A * <p>Such values do not represent characters by themselves, 1602N/A * but are used in the representation of 1602N/A * <a href="#supplementary">supplementary characters</a> 1602N/A * @param ch the {@code char} value to be tested. 1602N/A * @return {@code true} if the {@code char} value is between 1602N/A * {@link #MIN_HIGH_SURROGATE} and 1602N/A * {@link #MAX_HIGH_SURROGATE} inclusive; 1602N/A * @see #isLowSurrogate(char) 1602N/A * @see Character.UnicodeBlock#of(int) 1602N/A * Determines if the given {@code char} value is a 1602N/A * Unicode low-surrogate code unit</a> 1602N/A * (also known as <i>trailing-surrogate code unit</i>). 1602N/A * <p>Such values do not represent characters by themselves, 1602N/A * but are used in the representation of 1602N/A * <a href="#supplementary">supplementary characters</a> 1602N/A * @param ch the {@code char} value to be tested. 1602N/A * @return {@code true} if the {@code char} value is between 1602N/A * {@link #MIN_LOW_SURROGATE} and 1602N/A * {@link #MAX_LOW_SURROGATE} inclusive; 1602N/A * @see #isHighSurrogate(char) 1602N/A * Determines if the given {@code char} value is a Unicode 1602N/A * <i>surrogate code unit</i>. 1602N/A * <p>Such values do not represent characters by themselves, 1602N/A * but are used in the representation of 1602N/A * <a href="#supplementary">supplementary characters</a> 1602N/A * <p>A char value is a surrogate code unit if and only if it is either 1602N/A * a {@linkplain #isLowSurrogate(char) low-surrogate code unit} or 1602N/A * a {@linkplain #isHighSurrogate(char) high-surrogate code unit}. 1602N/A * @param ch the {@code char} value to be tested. 1602N/A * @return {@code true} if the {@code char} value is between 1602N/A * {@link #MIN_SURROGATE} and 1602N/A * {@link #MAX_SURROGATE} inclusive; 0N/A * Determines whether the specified pair of <code>char</code> 1602N/A * Unicode surrogate pair</a>. 1602N/A * <p>This method is equivalent to the expression: 0N/A * isHighSurrogate(high) && isLowSurrogate(low) 0N/A * </pre></blockquote> 0N/A * @param high the high-surrogate code value to be tested 0N/A * @param low the low-surrogate code value to be tested 0N/A * @return <code>true</code> if the specified high and 0N/A * low-surrogate code values represent a valid surrogate pair; 0N/A * <code>false</code> otherwise. 0N/A * Determines the number of <code>char</code> values needed to 0N/A * represent the specified character (Unicode code point). If the 0N/A * specified character is equal to or greater than 0x10000, then 0N/A * the method returns 2. Otherwise, the method returns 1. 0N/A * <p>This method doesn't validate the specified character to be a 0N/A * valid Unicode code point. The caller must validate the 0N/A * character value using {@link #isValidCodePoint(int) isValidCodePoint} 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return 2 if the character is a valid supplementary character; 1 otherwise. 0N/A * @see #isSupplementaryCodePoint(int) 0N/A * Converts the specified surrogate pair to its supplementary code 0N/A * point value. This method does not validate the specified 0N/A * surrogate pair. The caller must validate it using {@link 0N/A * #isSurrogatePair(char, char) isSurrogatePair} if necessary. 0N/A * @param high the high-surrogate code unit 0N/A * @param low the low-surrogate code unit 0N/A * @return the supplementary code point composed from the 0N/A * specified surrogate pair. 1430N/A // return ((high - MIN_HIGH_SURROGATE) << 10) 1430N/A // + (low - MIN_LOW_SURROGATE) 1430N/A // + MIN_SUPPLEMENTARY_CODE_POINT; 0N/A * Returns the code point at the given index of the 0N/A * <code>CharSequence</code>. If the <code>char</code> value at 0N/A * the given index in the <code>CharSequence</code> is in the 0N/A * high-surrogate range, the following index is less than the 0N/A * length of the <code>CharSequence</code>, and the 0N/A * <code>char</code> value at the following index is in the 0N/A * low-surrogate range, then the supplementary code point 0N/A * corresponding to this surrogate pair is returned. Otherwise, 0N/A * the <code>char</code> value at the given index is returned. 0N/A * @param seq a sequence of <code>char</code> values (Unicode code 0N/A * @param index the index to the <code>char</code> values (Unicode 0N/A * code units) in <code>seq</code> to be converted 0N/A * @return the Unicode code point at the given index 0N/A * @exception NullPointerException if <code>seq</code> is null. 0N/A * @exception IndexOutOfBoundsException if the value 0N/A * <code>index</code> is negative or not less than 0N/A * {@link CharSequence#length() seq.length()}. 0N/A * Returns the code point at the given index of the 0N/A * <code>char</code> array. If the <code>char</code> value at 0N/A * the given index in the <code>char</code> array is in the 0N/A * high-surrogate range, the following index is less than the 0N/A * length of the <code>char</code> array, and the 0N/A * <code>char</code> value at the following index is in the 0N/A * low-surrogate range, then the supplementary code point 0N/A * corresponding to this surrogate pair is returned. Otherwise, 0N/A * the <code>char</code> value at the given index is returned. 0N/A * @param a the <code>char</code> array 0N/A * @param index the index to the <code>char</code> values (Unicode 0N/A * code units) in the <code>char</code> array to be converted 0N/A * @return the Unicode code point at the given index 0N/A * @exception NullPointerException if <code>a</code> is null. 0N/A * @exception IndexOutOfBoundsException if the value 0N/A * <code>index</code> is negative or not less than 0N/A * the length of the <code>char</code> array. 0N/A * Returns the code point at the given index of the 0N/A * <code>char</code> array, where only array elements with 0N/A * <code>index</code> less than <code>limit</code> can be used. If 0N/A * the <code>char</code> value at the given index in the 0N/A * <code>char</code> array is in the high-surrogate range, the 0N/A * following index is less than the <code>limit</code>, and the 0N/A * <code>char</code> value at the following index is in the 0N/A * low-surrogate range, then the supplementary code point 0N/A * corresponding to this surrogate pair is returned. Otherwise, 0N/A * the <code>char</code> value at the given index is returned. 0N/A * @param a the <code>char</code> array 0N/A * @param index the index to the <code>char</code> values (Unicode 0N/A * code units) in the <code>char</code> array to be converted 0N/A * @param limit the index after the last array element that can be used in the 0N/A * <code>char</code> array 0N/A * @return the Unicode code point at the given index 0N/A * @exception NullPointerException if <code>a</code> is null. 0N/A * @exception IndexOutOfBoundsException if the <code>index</code> 0N/A * argument is negative or not less than the <code>limit</code> 0N/A * argument, or if the <code>limit</code> argument is negative or 0N/A * greater than the length of the <code>char</code> array. 0N/A * Returns the code point preceding the given index of the 0N/A * <code>CharSequence</code>. If the <code>char</code> value at 0N/A * <code>(index - 1)</code> in the <code>CharSequence</code> is in 0N/A * the low-surrogate range, <code>(index - 2)</code> is not 0N/A * negative, and the <code>char</code> value at <code>(index - 0N/A * 2)</code> in the <code>CharSequence</code> is in the 0N/A * high-surrogate range, then the supplementary code point 0N/A * corresponding to this surrogate pair is returned. Otherwise, 0N/A * the <code>char</code> value at <code>(index - 1)</code> is 0N/A * @param seq the <code>CharSequence</code> instance 0N/A * @param index the index following the code point that should be returned 0N/A * @return the Unicode code point value before the given index. 0N/A * @exception NullPointerException if <code>seq</code> is null. 0N/A * @exception IndexOutOfBoundsException if the <code>index</code> 0N/A * argument is less than 1 or greater than {@link 0N/A * CharSequence#length() seq.length()}. 0N/A * Returns the code point preceding the given index of the 0N/A * <code>char</code> array. If the <code>char</code> value at 0N/A * <code>(index - 1)</code> in the <code>char</code> array is in 0N/A * the low-surrogate range, <code>(index - 2)</code> is not 0N/A * negative, and the <code>char</code> value at <code>(index - 0N/A * 2)</code> in the <code>char</code> array is in the 0N/A * high-surrogate range, then the supplementary code point 0N/A * corresponding to this surrogate pair is returned. Otherwise, 0N/A * the <code>char</code> value at <code>(index - 1)</code> is 0N/A * @param a the <code>char</code> array 0N/A * @param index the index following the code point that should be returned 0N/A * @return the Unicode code point value before the given index. 0N/A * @exception NullPointerException if <code>a</code> is null. 0N/A * @exception IndexOutOfBoundsException if the <code>index</code> 0N/A * argument is less than 1 or greater than the length of the 0N/A * <code>char</code> array 0N/A * Returns the code point preceding the given index of the 0N/A * <code>char</code> array, where only array elements with 0N/A * <code>index</code> greater than or equal to <code>start</code> 0N/A * can be used. If the <code>char</code> value at <code>(index - 0N/A * 1)</code> in the <code>char</code> array is in the 0N/A * low-surrogate range, <code>(index - 2)</code> is not less than 0N/A * <code>start</code>, and the <code>char</code> value at 0N/A * <code>(index - 2)</code> in the <code>char</code> array is in 0N/A * the high-surrogate range, then the supplementary code point 0N/A * corresponding to this surrogate pair is returned. Otherwise, 0N/A * the <code>char</code> value at <code>(index - 1)</code> is 0N/A * @param a the <code>char</code> array 0N/A * @param index the index following the code point that should be returned 0N/A * @param start the index of the first array element in the 0N/A * <code>char</code> array 0N/A * @return the Unicode code point value before the given index. 0N/A * @exception NullPointerException if <code>a</code> is null. 0N/A * @exception IndexOutOfBoundsException if the <code>index</code> 0N/A * argument is not greater than the <code>start</code> argument or 0N/A * is greater than the length of the <code>char</code> array, or 0N/A * if the <code>start</code> argument is negative or not less than 0N/A * the length of the <code>char</code> array. 0N/A * Converts the specified character (Unicode code point) to its 0N/A * UTF-16 representation. If the specified code point is a BMP 0N/A * (Basic Multilingual Plane or Plane 0) value, the same value is 0N/A * stored in <code>dst[dstIndex]</code>, and 1 is returned. If the 0N/A * specified code point is a supplementary character, its 0N/A * surrogate values are stored in <code>dst[dstIndex]</code> 0N/A * (high-surrogate) and <code>dst[dstIndex+1]</code> 0N/A * (low-surrogate), and 2 is returned. 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @param dst an array of <code>char</code> in which the 0N/A * <code>codePoint</code>'s UTF-16 value is stored. 0N/A * @param dstIndex the start index into the <code>dst</code> 0N/A * array where the converted value is stored. 0N/A * @return 1 if the code point is a BMP code point, 2 if the 0N/A * code point is a supplementary code point. 0N/A * @exception IllegalArgumentException if the specified 0N/A * <code>codePoint</code> is not a valid Unicode code point. 0N/A * @exception NullPointerException if the specified <code>dst</code> is null. 0N/A * @exception IndexOutOfBoundsException if <code>dstIndex</code> 0N/A * is negative or not less than <code>dst.length</code>, or if 0N/A * <code>dst</code> at <code>dstIndex</code> doesn't have enough 0N/A * array element(s) to store the resulting <code>char</code> 0N/A * value(s). (If <code>dstIndex</code> is equal to 0N/A * <code>dst.length-1</code> and the specified 0N/A * <code>codePoint</code> is a supplementary character, the 0N/A * high-surrogate value is not stored in 0N/A * <code>dst[dstIndex]</code>.) 0N/A * Converts the specified character (Unicode code point) to its 0N/A * UTF-16 representation stored in a <code>char</code> array. If 0N/A * the specified code point is a BMP (Basic Multilingual Plane or 0N/A * Plane 0) value, the resulting <code>char</code> array has 0N/A * the same value as <code>codePoint</code>. If the specified code 0N/A * point is a supplementary code point, the resulting 0N/A * <code>char</code> array has the corresponding surrogate pair. 0N/A * @param codePoint a Unicode code point 0N/A * @return a <code>char</code> array having 0N/A * <code>codePoint</code>'s UTF-16 representation. 0N/A * @exception IllegalArgumentException if the specified 0N/A * <code>codePoint</code> is not a valid Unicode code point. 1430N/A // We write elements "backwards" to guarantee all-or-nothing 0N/A * Returns the number of Unicode code points in the text range of 0N/A * the specified char sequence. The text range begins at the 0N/A * specified <code>beginIndex</code> and extends to the 0N/A * <code>char</code> at index <code>endIndex - 1</code>. Thus the 0N/A * length (in <code>char</code>s) of the text range is 0N/A * <code>endIndex-beginIndex</code>. Unpaired surrogates within 0N/A * the text range count as one code point each. 0N/A * @param seq the char sequence 0N/A * @param beginIndex the index to the first <code>char</code> of 0N/A * @param endIndex the index after the last <code>char</code> of 0N/A * @return the number of Unicode code points in the specified text 0N/A * @exception NullPointerException if <code>seq</code> is null. 0N/A * @exception IndexOutOfBoundsException if the 0N/A * <code>beginIndex</code> is negative, or <code>endIndex</code> 0N/A * is larger than the length of the given sequence, or 0N/A * <code>beginIndex</code> is larger than <code>endIndex</code>. 0N/A * Returns the number of Unicode code points in a subarray of the 0N/A * <code>char</code> array argument. The <code>offset</code> 0N/A * argument is the index of the first <code>char</code> of the 0N/A * subarray and the <code>count</code> argument specifies the 0N/A * length of the subarray in <code>char</code>s. Unpaired 0N/A * surrogates within the subarray count as one code point each. 0N/A * @param a the <code>char</code> array 0N/A * @param offset the index of the first <code>char</code> in the 0N/A * given <code>char</code> array 0N/A * @param count the length of the subarray in <code>char</code>s 0N/A * @return the number of Unicode code points in the specified subarray 0N/A * @exception NullPointerException if <code>a</code> is null. 0N/A * @exception IndexOutOfBoundsException if <code>offset</code> or 0N/A * <code>count</code> is negative, or if <code>offset + 0N/A * count</code> is larger than the length of the given array. 0N/A * Returns the index within the given char sequence that is offset 0N/A * from the given <code>index</code> by <code>codePointOffset</code> 0N/A * code points. Unpaired surrogates within the text range given by 0N/A * <code>index</code> and <code>codePointOffset</code> count as 0N/A * one code point each. 0N/A * @param seq the char sequence 0N/A * @param index the index to be offset 0N/A * @param codePointOffset the offset in code points 0N/A * @return the index within the char sequence 0N/A * @exception NullPointerException if <code>seq</code> is null. 0N/A * @exception IndexOutOfBoundsException if <code>index</code> 0N/A * is negative or larger then the length of the char sequence, 0N/A * or if <code>codePointOffset</code> is positive and the 0N/A * subsequence starting with <code>index</code> has fewer than 0N/A * <code>codePointOffset</code> code points, or if 0N/A * <code>codePointOffset</code> is negative and the subsequence 0N/A * before <code>index</code> has fewer than the absolute value 0N/A * of <code>codePointOffset</code> code points. 0N/A * Returns the index within the given <code>char</code> subarray 0N/A * that is offset from the given <code>index</code> by 0N/A * <code>codePointOffset</code> code points. The 0N/A * <code>start</code> and <code>count</code> arguments specify a 0N/A * subarray of the <code>char</code> array. Unpaired surrogates 0N/A * within the text range given by <code>index</code> and 0N/A * <code>codePointOffset</code> count as one code point each. 0N/A * @param a the <code>char</code> array 0N/A * @param start the index of the first <code>char</code> of the 0N/A * @param count the length of the subarray in <code>char</code>s 0N/A * @param index the index to be offset 0N/A * @param codePointOffset the offset in code points 0N/A * @return the index within the subarray 0N/A * @exception NullPointerException if <code>a</code> is null. 0N/A * @exception IndexOutOfBoundsException 0N/A * if <code>start</code> or <code>count</code> is negative, 0N/A * or if <code>start + count</code> is larger than the length of 0N/A * or if <code>index</code> is less than <code>start</code> or 0N/A * larger then <code>start + count</code>, 0N/A * or if <code>codePointOffset</code> is positive and the text range 0N/A * starting with <code>index</code> and ending with <code>start 0N/A * + count - 1</code> has fewer than <code>codePointOffset</code> code 0N/A * or if <code>codePointOffset</code> is negative and the text range 0N/A * starting with <code>start</code> and ending with <code>index 0N/A * - 1</code> has fewer than the absolute value of 0N/A * <code>codePointOffset</code> code points. 0N/A * Determines if the specified character is a lowercase character. 0N/A * A character is lowercase if its general category type, provided 0N/A * by <code>Character.getType(ch)</code>, is 0N/A * <code>LOWERCASE_LETTER</code>. 0N/A * The following are examples of lowercase characters: 0N/A * <p><blockquote><pre> 0N/A * 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 0N/A * '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6' 0N/A * '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE' 0N/A * '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6' 0N/A * '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF' 0N/A * </pre></blockquote> 0N/A * <p> Many other Unicode characters are lowercase too. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isLowerCase(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is lowercase; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.Character#isTitleCase(char) 0N/A * @see java.lang.Character#toLowerCase(char) 0N/A * @see java.lang.Character#getType(char) 0N/A * Determines if the specified character (Unicode code point) is a 0N/A * lowercase character. 0N/A * A character is lowercase if its general category type, provided 0N/A * by {@link Character#getType getType(codePoint)}, is 0N/A * <code>LOWERCASE_LETTER</code>. 0N/A * The following are examples of lowercase characters: 0N/A * <p><blockquote><pre> 0N/A * 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 0N/A * '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6' 0N/A * '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE' 0N/A * '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6' 0N/A * '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF' 0N/A * </pre></blockquote> 0N/A * <p> Many other Unicode characters are lowercase too. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is lowercase; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isLowerCase(int) 0N/A * @see java.lang.Character#isTitleCase(int) 0N/A * @see java.lang.Character#toLowerCase(int) 0N/A * @see java.lang.Character#getType(int) 0N/A * Determines if the specified character is an uppercase character. 0N/A * A character is uppercase if its general category type, provided by 0N/A * <code>Character.getType(ch)</code>, is <code>UPPERCASE_LETTER</code>. 0N/A * The following are examples of uppercase characters: 0N/A * <p><blockquote><pre> 0N/A * 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 0N/A * '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7' 0N/A * '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF' 0N/A * '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8' 0N/A * '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE' 0N/A * </pre></blockquote> 0N/A * <p> Many other Unicode characters are uppercase too.<p> 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isUpperCase(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is uppercase; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.Character#isTitleCase(char) 0N/A * @see java.lang.Character#toUpperCase(char) 0N/A * @see java.lang.Character#getType(char) 0N/A * Determines if the specified character (Unicode code point) is an uppercase character. 0N/A * A character is uppercase if its general category type, provided by 0N/A * {@link Character#getType(int) getType(codePoint)}, is <code>UPPERCASE_LETTER</code>. 0N/A * The following are examples of uppercase characters: 0N/A * <p><blockquote><pre> 0N/A * 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 0N/A * '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7' 0N/A * '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF' 0N/A * '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8' 0N/A * '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE' 0N/A * </pre></blockquote> 0N/A * <p> Many other Unicode characters are uppercase too.<p> 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is uppercase; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isLowerCase(int) 0N/A * @see java.lang.Character#isTitleCase(int) 0N/A * @see java.lang.Character#toUpperCase(int) 0N/A * @see java.lang.Character#getType(int) 0N/A * Determines if the specified character is a titlecase character. 0N/A * A character is a titlecase character if its general 0N/A * category type, provided by <code>Character.getType(ch)</code>, 0N/A * is <code>TITLECASE_LETTER</code>. 0N/A * Some characters look like pairs of Latin letters. For example, there 0N/A * is an uppercase letter that looks like "LJ" and has a corresponding 0N/A * lowercase letter that looks like "lj". A third form, which looks like "Lj", 0N/A * is the appropriate form to use when rendering a word in lowercase 0N/A * with initial capitals, as for a book title. 0N/A * These are some of the Unicode characters for which this method returns 0N/A * <code>true</code>: 0N/A * <li><code>LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON</code> 0N/A * <li><code>LATIN CAPITAL LETTER L WITH SMALL LETTER J</code> 0N/A * <li><code>LATIN CAPITAL LETTER N WITH SMALL LETTER J</code> 0N/A * <li><code>LATIN CAPITAL LETTER D WITH SMALL LETTER Z</code> 0N/A * <p> Many other Unicode characters are titlecase too.<p> 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isTitleCase(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is titlecase; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.Character#isUpperCase(char) 0N/A * @see java.lang.Character#toTitleCase(char) 0N/A * @see java.lang.Character#getType(char) 0N/A * Determines if the specified character (Unicode code point) is a titlecase character. 0N/A * A character is a titlecase character if its general 0N/A * category type, provided by {@link Character#getType(int) getType(codePoint)}, 0N/A * is <code>TITLECASE_LETTER</code>. 0N/A * Some characters look like pairs of Latin letters. For example, there 0N/A * is an uppercase letter that looks like "LJ" and has a corresponding 0N/A * lowercase letter that looks like "lj". A third form, which looks like "Lj", 0N/A * is the appropriate form to use when rendering a word in lowercase 0N/A * with initial capitals, as for a book title. 0N/A * These are some of the Unicode characters for which this method returns 0N/A * <code>true</code>: 0N/A * <li><code>LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON</code> 0N/A * <li><code>LATIN CAPITAL LETTER L WITH SMALL LETTER J</code> 0N/A * <li><code>LATIN CAPITAL LETTER N WITH SMALL LETTER J</code> 0N/A * <li><code>LATIN CAPITAL LETTER D WITH SMALL LETTER Z</code> 0N/A * <p> Many other Unicode characters are titlecase too.<p> 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is titlecase; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isLowerCase(int) 0N/A * @see java.lang.Character#isUpperCase(int) 0N/A * @see java.lang.Character#toTitleCase(int) 0N/A * @see java.lang.Character#getType(int) 0N/A * Determines if the specified character is a digit. 0N/A * A character is a digit if its general category type, provided 0N/A * by <code>Character.getType(ch)</code>, is 0N/A * <code>DECIMAL_DIGIT_NUMBER</code>. 0N/A * Some Unicode character ranges that contain digits: 0N/A * <li><code>'\u0030'</code> through <code>'\u0039'</code>, 0N/A * ISO-LATIN-1 digits (<code>'0'</code> through <code>'9'</code>) 0N/A * <li><code>'\u0660'</code> through <code>'\u0669'</code>, 0N/A * Arabic-Indic digits 0N/A * <li><code>'\u06F0'</code> through <code>'\u06F9'</code>, 0N/A * Extended Arabic-Indic digits 0N/A * <li><code>'\u0966'</code> through <code>'\u096F'</code>, 0N/A * <li><code>'\uFF10'</code> through <code>'\uFF19'</code>, 0N/A * Many other character ranges contain digits as well. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isDigit(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is a digit; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#digit(char, int) 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Character#getType(char) 0N/A * Determines if the specified character (Unicode code point) is a digit. 0N/A * A character is a digit if its general category type, provided 0N/A * by {@link Character#getType(int) getType(codePoint)}, is 0N/A * <code>DECIMAL_DIGIT_NUMBER</code>. 0N/A * Some Unicode character ranges that contain digits: 0N/A * <li><code>'\u0030'</code> through <code>'\u0039'</code>, 0N/A * ISO-LATIN-1 digits (<code>'0'</code> through <code>'9'</code>) 0N/A * <li><code>'\u0660'</code> through <code>'\u0669'</code>, 0N/A * Arabic-Indic digits 0N/A * <li><code>'\u06F0'</code> through <code>'\u06F9'</code>, 0N/A * Extended Arabic-Indic digits 0N/A * <li><code>'\u0966'</code> through <code>'\u096F'</code>, 0N/A * <li><code>'\uFF10'</code> through <code>'\uFF19'</code>, 0N/A * Many other character ranges contain digits as well. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is a digit; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Character#getType(int) 0N/A * Determines if a character is defined in Unicode. 0N/A * A character is defined if at least one of the following is true: 0N/A * <li>It has an entry in the UnicodeData file. 0N/A * <li>It has a value in a range defined by the UnicodeData file. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isDefined(int)} method. 0N/A * @param ch the character to be tested 0N/A * @return <code>true</code> if the character has a defined meaning 0N/A * in Unicode; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isDigit(char) 0N/A * @see java.lang.Character#isLetter(char) 0N/A * @see java.lang.Character#isLetterOrDigit(char) 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.Character#isTitleCase(char) 0N/A * @see java.lang.Character#isUpperCase(char) 0N/A * Determines if a character (Unicode code point) is defined in Unicode. 0N/A * A character is defined if at least one of the following is true: 0N/A * <li>It has an entry in the UnicodeData file. 0N/A * <li>It has a value in a range defined by the UnicodeData file. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character has a defined meaning 0N/A * in Unicode; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isDigit(int) 0N/A * @see java.lang.Character#isLetter(int) 0N/A * @see java.lang.Character#isLetterOrDigit(int) 0N/A * @see java.lang.Character#isLowerCase(int) 0N/A * @see java.lang.Character#isTitleCase(int) 0N/A * @see java.lang.Character#isUpperCase(int) 0N/A * Determines if the specified character is a letter. 0N/A * A character is considered to be a letter if its general 0N/A * category type, provided by <code>Character.getType(ch)</code>, 0N/A * is any of the following: 0N/A * <li> <code>UPPERCASE_LETTER</code> 0N/A * <li> <code>LOWERCASE_LETTER</code> 0N/A * <li> <code>TITLECASE_LETTER</code> 0N/A * <li> <code>MODIFIER_LETTER</code> 0N/A * <li> <code>OTHER_LETTER</code> 0N/A * Not all letters have case. Many characters are 0N/A * letters but are neither uppercase nor lowercase nor titlecase. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isLetter(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is a letter; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isDigit(char) 0N/A * @see java.lang.Character#isJavaIdentifierStart(char) 0N/A * @see java.lang.Character#isJavaLetter(char) 0N/A * @see java.lang.Character#isJavaLetterOrDigit(char) 0N/A * @see java.lang.Character#isLetterOrDigit(char) 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.Character#isTitleCase(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(char) 0N/A * @see java.lang.Character#isUpperCase(char) 0N/A * Determines if the specified character (Unicode code point) is a letter. 0N/A * A character is considered to be a letter if its general 0N/A * category type, provided by {@link Character#getType(int) getType(codePoint)}, 0N/A * is any of the following: 0N/A * <li> <code>UPPERCASE_LETTER</code> 0N/A * <li> <code>LOWERCASE_LETTER</code> 0N/A * <li> <code>TITLECASE_LETTER</code> 0N/A * <li> <code>MODIFIER_LETTER</code> 0N/A * <li> <code>OTHER_LETTER</code> 0N/A * Not all letters have case. Many characters are 0N/A * letters but are neither uppercase nor lowercase nor titlecase. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is a letter; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isDigit(int) 0N/A * @see java.lang.Character#isJavaIdentifierStart(int) 0N/A * @see java.lang.Character#isLetterOrDigit(int) 0N/A * @see java.lang.Character#isLowerCase(int) 0N/A * @see java.lang.Character#isTitleCase(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(int) 0N/A * @see java.lang.Character#isUpperCase(int) 0N/A * Determines if the specified character is a letter or digit. 0N/A * A character is considered to be a letter or digit if either 0N/A * <code>Character.isLetter(char ch)</code> or 0N/A * <code>Character.isDigit(char ch)</code> returns 0N/A * <code>true</code> for the character. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isLetterOrDigit(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is a letter or digit; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isDigit(char) 0N/A * @see java.lang.Character#isJavaIdentifierPart(char) 0N/A * @see java.lang.Character#isJavaLetter(char) 0N/A * @see java.lang.Character#isJavaLetterOrDigit(char) 0N/A * @see java.lang.Character#isLetter(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(char) 0N/A * Determines if the specified character (Unicode code point) is a letter or digit. 0N/A * A character is considered to be a letter or digit if either 0N/A * {@link #isLetter(int) isLetter(codePoint)} or 0N/A * {@link #isDigit(int) isDigit(codePoint)} returns 0N/A * <code>true</code> for the character. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is a letter or digit; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isDigit(int) 0N/A * @see java.lang.Character#isJavaIdentifierPart(int) 0N/A * @see java.lang.Character#isLetter(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(int) 0N/A * Determines if the specified character is permissible as the first 0N/A * character in a Java identifier. 0N/A * A character may start a Java identifier if and only if 0N/A * one of the following is true: 0N/A * <li> {@link #isLetter(char) isLetter(ch)} returns <code>true</code> 0N/A * <li> {@link #getType(char) getType(ch)} returns <code>LETTER_NUMBER</code> 0N/A * <li> ch is a currency symbol (such as "$") 0N/A * <li> ch is a connecting punctuation character (such as "_"). 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character may start a Java 0N/A * identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaLetterOrDigit(char) 0N/A * @see java.lang.Character#isJavaIdentifierStart(char) 0N/A * @see java.lang.Character#isJavaIdentifierPart(char) 0N/A * @see java.lang.Character#isLetter(char) 0N/A * @see java.lang.Character#isLetterOrDigit(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(char) 0N/A * @deprecated Replaced by isJavaIdentifierStart(char). 0N/A * Determines if the specified character may be part of a Java 0N/A * identifier as other than the first character. 0N/A * A character may be part of a Java identifier if and only if any 0N/A * of the following are true: 0N/A * <li> it is a letter 0N/A * <li> it is a currency symbol (such as <code>'$'</code>) 0N/A * <li> it is a connecting punctuation character (such as <code>'_'</code>) 0N/A * <li> it is a digit 0N/A * <li> it is a numeric letter (such as a Roman numeral character) 0N/A * <li> it is a combining mark 0N/A * <li> it is a non-spacing mark 0N/A * <li> <code>isIdentifierIgnorable</code> returns 0N/A * <code>true</code> for the character. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character may be part of a 0N/A * Java identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaLetter(char) 0N/A * @see java.lang.Character#isJavaIdentifierStart(char) 0N/A * @see java.lang.Character#isJavaIdentifierPart(char) 0N/A * @see java.lang.Character#isLetter(char) 0N/A * @see java.lang.Character#isLetterOrDigit(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(char) 0N/A * @see java.lang.Character#isIdentifierIgnorable(char) 0N/A * @deprecated Replaced by isJavaIdentifierPart(char). 0N/A * Determines if the specified character is 0N/A * permissible as the first character in a Java identifier. 0N/A * A character may start a Java identifier if and only if 0N/A * one of the following conditions is true: 0N/A * <li> {@link #isLetter(char) isLetter(ch)} returns <code>true</code> 0N/A * <li> {@link #getType(char) getType(ch)} returns <code>LETTER_NUMBER</code> 0N/A * <li> ch is a currency symbol (such as "$") 0N/A * <li> ch is a connecting punctuation character (such as "_"). 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isJavaIdentifierStart(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character may start a Java identifier; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaIdentifierPart(char) 0N/A * @see java.lang.Character#isLetter(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(char) 0N/A * @see javax.lang.model.SourceVersion#isIdentifier(CharSequence) 0N/A * Determines if the character (Unicode code point) is 0N/A * permissible as the first character in a Java identifier. 0N/A * A character may start a Java identifier if and only if 0N/A * one of the following conditions is true: 0N/A * <li> {@link #isLetter(int) isLetter(codePoint)} 0N/A * returns <code>true</code> 0N/A * <li> {@link #getType(int) getType(codePoint)} 0N/A * returns <code>LETTER_NUMBER</code> 0N/A * <li> the referenced character is a currency symbol (such as "$") 0N/A * <li> the referenced character is a connecting punctuation character 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character may start a Java identifier; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaIdentifierPart(int) 0N/A * @see java.lang.Character#isLetter(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(int) 0N/A * @see javax.lang.model.SourceVersion#isIdentifier(CharSequence) 0N/A * Determines if the specified character may be part of a Java 0N/A * identifier as other than the first character. 0N/A * A character may be part of a Java identifier if any of the following 0N/A * <li> it is a letter 0N/A * <li> it is a currency symbol (such as <code>'$'</code>) 0N/A * <li> it is a connecting punctuation character (such as <code>'_'</code>) 0N/A * <li> it is a digit 0N/A * <li> it is a numeric letter (such as a Roman numeral character) 0N/A * <li> it is a combining mark 0N/A * <li> it is a non-spacing mark 0N/A * <li> <code>isIdentifierIgnorable</code> returns 0N/A * <code>true</code> for the character 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isJavaIdentifierPart(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character may be part of a 0N/A * Java identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isIdentifierIgnorable(char) 0N/A * @see java.lang.Character#isJavaIdentifierStart(char) 0N/A * @see java.lang.Character#isLetterOrDigit(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(char) 0N/A * @see javax.lang.model.SourceVersion#isIdentifier(CharSequence) 0N/A * Determines if the character (Unicode code point) may be part of a Java 0N/A * identifier as other than the first character. 0N/A * A character may be part of a Java identifier if any of the following 0N/A * <li> it is a letter 0N/A * <li> it is a currency symbol (such as <code>'$'</code>) 0N/A * <li> it is a connecting punctuation character (such as <code>'_'</code>) 0N/A * <li> it is a digit 0N/A * <li> it is a numeric letter (such as a Roman numeral character) 0N/A * <li> it is a combining mark 0N/A * <li> it is a non-spacing mark 0N/A * <li> {@link #isIdentifierIgnorable(int) 0N/A * isIdentifierIgnorable(codePoint)} returns <code>true</code> for 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character may be part of a 0N/A * Java identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isIdentifierIgnorable(int) 0N/A * @see java.lang.Character#isJavaIdentifierStart(int) 0N/A * @see java.lang.Character#isLetterOrDigit(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(int) 0N/A * @see javax.lang.model.SourceVersion#isIdentifier(CharSequence) 0N/A * Determines if the specified character is permissible as the 0N/A * first character in a Unicode identifier. 0N/A * A character may start a Unicode identifier if and only if 0N/A * one of the following conditions is true: 0N/A * <li> {@link #isLetter(char) isLetter(ch)} returns <code>true</code> 0N/A * <li> {@link #getType(char) getType(ch)} returns 0N/A * <code>LETTER_NUMBER</code>. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isUnicodeIdentifierStart(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character may start a Unicode 0N/A * identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaIdentifierStart(char) 0N/A * @see java.lang.Character#isLetter(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(char) 0N/A * Determines if the specified character (Unicode code point) is permissible as the 0N/A * first character in a Unicode identifier. 0N/A * A character may start a Unicode identifier if and only if 0N/A * one of the following conditions is true: 0N/A * <li> {@link #isLetter(int) isLetter(codePoint)} 0N/A * returns <code>true</code> 0N/A * <li> {@link #getType(int) getType(codePoint)} 0N/A * returns <code>LETTER_NUMBER</code>. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character may start a Unicode 0N/A * identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaIdentifierStart(int) 0N/A * @see java.lang.Character#isLetter(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(int) 0N/A * Determines if the specified character may be part of a Unicode 0N/A * identifier as other than the first character. 0N/A * A character may be part of a Unicode identifier if and only if 0N/A * one of the following statements is true: 0N/A * <li> it is a letter 0N/A * <li> it is a connecting punctuation character (such as <code>'_'</code>) 0N/A * <li> it is a digit 0N/A * <li> it is a numeric letter (such as a Roman numeral character) 0N/A * <li> it is a combining mark 0N/A * <li> it is a non-spacing mark 0N/A * <li> <code>isIdentifierIgnorable</code> returns 0N/A * <code>true</code> for this character. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isUnicodeIdentifierPart(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character may be part of a 0N/A * Unicode identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isIdentifierIgnorable(char) 0N/A * @see java.lang.Character#isJavaIdentifierPart(char) 0N/A * @see java.lang.Character#isLetterOrDigit(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(char) 0N/A * Determines if the specified character (Unicode code point) may be part of a Unicode 0N/A * identifier as other than the first character. 0N/A * A character may be part of a Unicode identifier if and only if 0N/A * one of the following statements is true: 0N/A * <li> it is a letter 0N/A * <li> it is a connecting punctuation character (such as <code>'_'</code>) 0N/A * <li> it is a digit 0N/A * <li> it is a numeric letter (such as a Roman numeral character) 0N/A * <li> it is a combining mark 0N/A * <li> it is a non-spacing mark 0N/A * <li> <code>isIdentifierIgnorable</code> returns 0N/A * <code>true</code> for this character. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character may be part of a 0N/A * Unicode identifier; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isIdentifierIgnorable(int) 0N/A * @see java.lang.Character#isJavaIdentifierPart(int) 0N/A * @see java.lang.Character#isLetterOrDigit(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierStart(int) 0N/A * Determines if the specified character should be regarded as 0N/A * an ignorable character in a Java identifier or a Unicode identifier. 0N/A * The following Unicode characters are ignorable in a Java identifier 0N/A * or a Unicode identifier: 0N/A * <li>ISO control characters that are not whitespace 0N/A * <li><code>'\u0000'</code> through <code>'\u0008'</code> 0N/A * <li><code>'\u000E'</code> through <code>'\u001B'</code> 0N/A * <li><code>'\u007F'</code> through <code>'\u009F'</code> 0N/A * <li>all characters that have the <code>FORMAT</code> general 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isIdentifierIgnorable(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is an ignorable control 0N/A * character that may be part of a Java or Unicode identifier; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaIdentifierPart(char) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(char) 0N/A * Determines if the specified character (Unicode code point) should be regarded as 0N/A * an ignorable character in a Java identifier or a Unicode identifier. 0N/A * The following Unicode characters are ignorable in a Java identifier 0N/A * or a Unicode identifier: 0N/A * <li>ISO control characters that are not whitespace 0N/A * <li><code>'\u0000'</code> through <code>'\u0008'</code> 0N/A * <li><code>'\u000E'</code> through <code>'\u001B'</code> 0N/A * <li><code>'\u007F'</code> through <code>'\u009F'</code> 0N/A * <li>all characters that have the <code>FORMAT</code> general 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is an ignorable control 0N/A * character that may be part of a Java or Unicode identifier; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isJavaIdentifierPart(int) 0N/A * @see java.lang.Character#isUnicodeIdentifierPart(int) 0N/A * Converts the character argument to lowercase using case 0N/A * mapping information from the UnicodeData file. 0N/A * <code>Character.isLowerCase(Character.toLowerCase(ch))</code> 0N/A * does not always return <code>true</code> for some ranges of 0N/A * characters, particularly those that are symbols or ideographs. 0N/A * <p>In general, {@link java.lang.String#toLowerCase()} should be used to map 0N/A * characters to lowercase. <code>String</code> case mapping methods 0N/A * have several benefits over <code>Character</code> case mapping methods. 0N/A * <code>String</code> case mapping methods can perform locale-sensitive 0N/A * mappings, context-sensitive mappings, and 1:M character mappings, whereas 0N/A * the <code>Character</code> case mapping methods cannot. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #toLowerCase(int)} method. 0N/A * @param ch the character to be converted. 0N/A * @return the lowercase equivalent of the character, if any; 0N/A * otherwise, the character itself. 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.String#toLowerCase() 0N/A * Converts the character (Unicode code point) argument to 0N/A * lowercase using case mapping information from the UnicodeData 0N/A * <code>Character.isLowerCase(Character.toLowerCase(codePoint))</code> 0N/A * does not always return <code>true</code> for some ranges of 0N/A * characters, particularly those that are symbols or ideographs. 0N/A * <p>In general, {@link java.lang.String#toLowerCase()} should be used to map 0N/A * characters to lowercase. <code>String</code> case mapping methods 0N/A * have several benefits over <code>Character</code> case mapping methods. 0N/A * <code>String</code> case mapping methods can perform locale-sensitive 0N/A * mappings, context-sensitive mappings, and 1:M character mappings, whereas 0N/A * the <code>Character</code> case mapping methods cannot. 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @return the lowercase equivalent of the character (Unicode code 0N/A * point), if any; otherwise, the character itself. 0N/A * @see java.lang.Character#isLowerCase(int) 0N/A * @see java.lang.String#toLowerCase() 0N/A * Converts the character argument to uppercase using case mapping 0N/A * information from the UnicodeData file. 0N/A * <code>Character.isUpperCase(Character.toUpperCase(ch))</code> 0N/A * does not always return <code>true</code> for some ranges of 0N/A * characters, particularly those that are symbols or ideographs. 0N/A * <p>In general, {@link java.lang.String#toUpperCase()} should be used to map 0N/A * characters to uppercase. <code>String</code> case mapping methods 0N/A * have several benefits over <code>Character</code> case mapping methods. 0N/A * <code>String</code> case mapping methods can perform locale-sensitive 0N/A * mappings, context-sensitive mappings, and 1:M character mappings, whereas 0N/A * the <code>Character</code> case mapping methods cannot. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #toUpperCase(int)} method. 0N/A * @param ch the character to be converted. 0N/A * @return the uppercase equivalent of the character, if any; 0N/A * otherwise, the character itself. 0N/A * @see java.lang.Character#isUpperCase(char) 0N/A * @see java.lang.String#toUpperCase() 0N/A * Converts the character (Unicode code point) argument to 0N/A * uppercase using case mapping information from the UnicodeData 0N/A * <code>Character.isUpperCase(Character.toUpperCase(codePoint))</code> 0N/A * does not always return <code>true</code> for some ranges of 0N/A * characters, particularly those that are symbols or ideographs. 0N/A * <p>In general, {@link java.lang.String#toUpperCase()} should be used to map 0N/A * characters to uppercase. <code>String</code> case mapping methods 0N/A * have several benefits over <code>Character</code> case mapping methods. 0N/A * <code>String</code> case mapping methods can perform locale-sensitive 0N/A * mappings, context-sensitive mappings, and 1:M character mappings, whereas 0N/A * the <code>Character</code> case mapping methods cannot. 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @return the uppercase equivalent of the character, if any; 0N/A * otherwise, the character itself. 0N/A * @see java.lang.Character#isUpperCase(int) 0N/A * @see java.lang.String#toUpperCase() 0N/A * Converts the character argument to titlecase using case mapping 0N/A * information from the UnicodeData file. If a character has no 0N/A * explicit titlecase mapping and is not itself a titlecase char 0N/A * according to UnicodeData, then the uppercase mapping is 0N/A * returned as an equivalent titlecase mapping. If the 0N/A * <code>char</code> argument is already a titlecase 0N/A * <code>char</code>, the same <code>char</code> value will be 0N/A * <code>Character.isTitleCase(Character.toTitleCase(ch))</code> 0N/A * does not always return <code>true</code> for some ranges of 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #toTitleCase(int)} method. 0N/A * @param ch the character to be converted. 0N/A * @return the titlecase equivalent of the character, if any; 0N/A * otherwise, the character itself. 0N/A * @see java.lang.Character#isTitleCase(char) 0N/A * @see java.lang.Character#toLowerCase(char) 0N/A * @see java.lang.Character#toUpperCase(char) 0N/A * Converts the character (Unicode code point) argument to titlecase using case mapping 0N/A * information from the UnicodeData file. If a character has no 0N/A * explicit titlecase mapping and is not itself a titlecase char 0N/A * according to UnicodeData, then the uppercase mapping is 0N/A * returned as an equivalent titlecase mapping. If the 0N/A * character argument is already a titlecase 0N/A * character, the same character value will be 0N/A * <code>Character.isTitleCase(Character.toTitleCase(codePoint))</code> 0N/A * does not always return <code>true</code> for some ranges of 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @return the titlecase equivalent of the character, if any; 0N/A * otherwise, the character itself. 0N/A * @see java.lang.Character#isTitleCase(int) 0N/A * @see java.lang.Character#toLowerCase(int) 0N/A * @see java.lang.Character#toUpperCase(int) 0N/A * Returns the numeric value of the character <code>ch</code> in the 0N/A * If the radix is not in the range <code>MIN_RADIX</code> <= 0N/A * <code>radix</code> <= <code>MAX_RADIX</code> or if the 0N/A * value of <code>ch</code> is not a valid digit in the specified 0N/A * radix, <code>-1</code> is returned. A character is a valid digit 0N/A * if at least one of the following is true: 0N/A * <li>The method <code>isDigit</code> is <code>true</code> of the character 0N/A * and the Unicode decimal digit value of the character (or its 0N/A * single-character decomposition) is less than the specified radix. 0N/A * In this case the decimal digit value is returned. 0N/A * <li>The character is one of the uppercase Latin letters 0N/A * <code>'A'</code> through <code>'Z'</code> and its code is less than 0N/A * <code>radix + 'A' - 10</code>. 0N/A * In this case, <code>ch - 'A' + 10</code> 0N/A * <li>The character is one of the lowercase Latin letters 0N/A * <code>'a'</code> through <code>'z'</code> and its code is less than 0N/A * <code>radix + 'a' - 10</code>. 0N/A * In this case, <code>ch - 'a' + 10</code> 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #digit(int, int)} method. 0N/A * @param ch the character to be converted. 0N/A * @param radix the radix. 0N/A * @return the numeric value represented by the character in the 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Character#isDigit(char) 0N/A * Returns the numeric value of the specified character (Unicode 0N/A * code point) in the specified radix. 0N/A * <p>If the radix is not in the range <code>MIN_RADIX</code> <= 0N/A * <code>radix</code> <= <code>MAX_RADIX</code> or if the 0N/A * character is not a valid digit in the specified 0N/A * radix, <code>-1</code> is returned. A character is a valid digit 0N/A * if at least one of the following is true: 0N/A * <li>The method {@link #isDigit(int) isDigit(codePoint)} is <code>true</code> of the character 0N/A * and the Unicode decimal digit value of the character (or its 0N/A * single-character decomposition) is less than the specified radix. 0N/A * In this case the decimal digit value is returned. 0N/A * <li>The character is one of the uppercase Latin letters 0N/A * <code>'A'</code> through <code>'Z'</code> and its code is less than 0N/A * <code>radix + 'A' - 10</code>. 0N/A * In this case, <code>ch - 'A' + 10</code> 0N/A * <li>The character is one of the lowercase Latin letters 0N/A * <code>'a'</code> through <code>'z'</code> and its code is less than 0N/A * <code>radix + 'a' - 10</code>. 0N/A * In this case, <code>ch - 'a' + 10</code> 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @param radix the radix. 0N/A * @return the numeric value represented by the character in the 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Character#isDigit(int) 0N/A * Returns the <code>int</code> value that the specified Unicode 0N/A * character represents. For example, the character 0N/A * <code>'\u216C'</code> (the roman numeral fifty) will return 0N/A * an int with a value of 50. 0N/A * The letters A-Z in their uppercase (<code>'\u0041'</code> through 0N/A * <code>'\u005A'</code>), lowercase 0N/A * (<code>'\u0061'</code> through <code>'\u007A'</code>), and 0N/A * full width variant (<code>'\uFF21'</code> through 0N/A * <code>'\uFF3A'</code> and <code>'\uFF41'</code> through 0N/A * <code>'\uFF5A'</code>) forms have numeric values from 10 0N/A * through 35. This is independent of the Unicode specification, 0N/A * which does not assign numeric values to these <code>char</code> 0N/A * If the character does not have a numeric value, then -1 is returned. 0N/A * If the character has a numeric value that cannot be represented as a 0N/A * nonnegative integer (for example, a fractional value), then -2 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #getNumericValue(int)} method. 0N/A * @param ch the character to be converted. 0N/A * @return the numeric value of the character, as a nonnegative <code>int</code> 0N/A * value; -2 if the character has a numeric value that is not a 0N/A * nonnegative integer; -1 if the character has no numeric value. 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Character#isDigit(char) 0N/A * Returns the <code>int</code> value that the specified 0N/A * character (Unicode code point) represents. For example, the character 0N/A * <code>'\u216C'</code> (the Roman numeral fifty) will return 0N/A * an <code>int</code> with a value of 50. 0N/A * The letters A-Z in their uppercase (<code>'\u0041'</code> through 0N/A * <code>'\u005A'</code>), lowercase 0N/A * (<code>'\u0061'</code> through <code>'\u007A'</code>), and 0N/A * full width variant (<code>'\uFF21'</code> through 0N/A * <code>'\uFF3A'</code> and <code>'\uFF41'</code> through 0N/A * <code>'\uFF5A'</code>) forms have numeric values from 10 0N/A * through 35. This is independent of the Unicode specification, 0N/A * which does not assign numeric values to these <code>char</code> 0N/A * If the character does not have a numeric value, then -1 is returned. 0N/A * If the character has a numeric value that cannot be represented as a 0N/A * nonnegative integer (for example, a fractional value), then -2 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @return the numeric value of the character, as a nonnegative <code>int</code> 0N/A * value; -2 if the character has a numeric value that is not a 0N/A * nonnegative integer; -1 if the character has no numeric value. 0N/A * @see java.lang.Character#forDigit(int, int) 0N/A * @see java.lang.Character#isDigit(int) 0N/A * Determines if the specified character is ISO-LATIN-1 white space. 0N/A * This method returns <code>true</code> for the following five 0N/A * <tr><td><code>'\t'</code></td> <td><code>'\u0009'</code></td> 0N/A * <td><code>HORIZONTAL TABULATION</code></td></tr> 0N/A * <tr><td><code>'\n'</code></td> <td><code>'\u000A'</code></td> 0N/A * <td><code>NEW LINE</code></td></tr> 0N/A * <tr><td><code>'\f'</code></td> <td><code>'\u000C'</code></td> 0N/A * <td><code>FORM FEED</code></td></tr> 0N/A * <tr><td><code>'\r'</code></td> <td><code>'\u000D'</code></td> 0N/A * <td><code>CARRIAGE RETURN</code></td></tr> 0N/A * <tr><td><code>' '</code></td> <td><code>'\u0020'</code></td> 0N/A * <td><code>SPACE</code></td></tr> 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is ISO-LATIN-1 white 0N/A * space; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isSpaceChar(char) 0N/A * @see java.lang.Character#isWhitespace(char) 0N/A * @deprecated Replaced by isWhitespace(char). 0N/A (((((
1L <<
0x0009) |
0N/A (
1L <<
0x0020)) >>
ch) &
1L) !=
0);
0N/A * Determines if the specified character is a Unicode space character. 0N/A * A character is considered to be a space character if and only if 0N/A * it is specified to be a space character by the Unicode standard. This 0N/A * method returns true if the character's general category type is any of 0N/A * <li> <code>SPACE_SEPARATOR</code> 0N/A * <li> <code>LINE_SEPARATOR</code> 0N/A * <li> <code>PARAGRAPH_SEPARATOR</code> 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isSpaceChar(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is a space character; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isWhitespace(char) 0N/A * Determines if the specified character (Unicode code point) is a 0N/A * Unicode space character. A character is considered to be a 0N/A * space character if and only if it is specified to be a space 0N/A * character by the Unicode standard. This method returns true if 0N/A * the character's general category type is any of the following: 0N/A * <li> {@link #SPACE_SEPARATOR} 0N/A * <li> {@link #LINE_SEPARATOR} 0N/A * <li> {@link #PARAGRAPH_SEPARATOR} 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is a space character; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isWhitespace(int) 0N/A * Determines if the specified character is white space according to Java. 0N/A * A character is a Java whitespace character if and only if it satisfies 0N/A * one of the following criteria: 0N/A * <li> It is a Unicode space character (<code>SPACE_SEPARATOR</code>, 0N/A * <code>LINE_SEPARATOR</code>, or <code>PARAGRAPH_SEPARATOR</code>) 0N/A * but is not also a non-breaking space (<code>'\u00A0'</code>, 0N/A * <code>'\u2007'</code>, <code>'\u202F'</code>). 0N/A * <li> It is <code>'\u0009'</code>, HORIZONTAL TABULATION. 0N/A * <li> It is <code>'\u000A'</code>, LINE FEED. 0N/A * <li> It is <code>'\u000B'</code>, VERTICAL TABULATION. 0N/A * <li> It is <code>'\u000C'</code>, FORM FEED. 0N/A * <li> It is <code>'\u000D'</code>, CARRIAGE RETURN. 0N/A * <li> It is <code>'\u001C'</code>, FILE SEPARATOR. 0N/A * <li> It is <code>'\u001D'</code>, GROUP SEPARATOR. 0N/A * <li> It is <code>'\u001E'</code>, RECORD SEPARATOR. 0N/A * <li> It is <code>'\u001F'</code>, UNIT SEPARATOR. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isWhitespace(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is a Java whitespace 0N/A * character; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isSpaceChar(char) 0N/A * Determines if the specified character (Unicode code point) is 0N/A * white space according to Java. A character is a Java 0N/A * whitespace character if and only if it satisfies one of the 0N/A * following criteria: 0N/A * <li> It is a Unicode space character ({@link #SPACE_SEPARATOR}, 0N/A * {@link #LINE_SEPARATOR}, or {@link #PARAGRAPH_SEPARATOR}) 0N/A * but is not also a non-breaking space (<code>'\u00A0'</code>, 0N/A * <code>'\u2007'</code>, <code>'\u202F'</code>). 0N/A * <li> It is <code>'\u0009'</code>, HORIZONTAL TABULATION. 0N/A * <li> It is <code>'\u000A'</code>, LINE FEED. 0N/A * <li> It is <code>'\u000B'</code>, VERTICAL TABULATION. 0N/A * <li> It is <code>'\u000C'</code>, FORM FEED. 0N/A * <li> It is <code>'\u000D'</code>, CARRIAGE RETURN. 0N/A * <li> It is <code>'\u001C'</code>, FILE SEPARATOR. 0N/A * <li> It is <code>'\u001D'</code>, GROUP SEPARATOR. 0N/A * <li> It is <code>'\u001E'</code>, RECORD SEPARATOR. 0N/A * <li> It is <code>'\u001F'</code>, UNIT SEPARATOR. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is a Java whitespace 0N/A * character; <code>false</code> otherwise. 0N/A * @see java.lang.Character#isSpaceChar(int) 0N/A * Determines if the specified character is an ISO control 0N/A * character. A character is considered to be an ISO control 0N/A * character if its code is in the range <code>'\u0000'</code> 0N/A * through <code>'\u001F'</code> or in the range 0N/A * <code>'\u007F'</code> through <code>'\u009F'</code>. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isISOControl(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return <code>true</code> if the character is an ISO control character; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isSpaceChar(char) 0N/A * @see java.lang.Character#isWhitespace(char) 0N/A * Determines if the referenced character (Unicode code point) is an ISO control 0N/A * character. A character is considered to be an ISO control 0N/A * character if its code is in the range <code>'\u0000'</code> 0N/A * through <code>'\u001F'</code> or in the range 0N/A * <code>'\u007F'</code> through <code>'\u009F'</code>. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is an ISO control character; 0N/A * <code>false</code> otherwise. 0N/A * @see java.lang.Character#isSpaceChar(int) 0N/A * @see java.lang.Character#isWhitespace(int) 0N/A * Returns a value indicating a character's general category. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #getType(int)} method. 0N/A * @param ch the character to be tested. 0N/A * @return a value of type <code>int</code> representing the 0N/A * character's general category. 0N/A * @see java.lang.Character#COMBINING_SPACING_MARK 0N/A * @see java.lang.Character#CONNECTOR_PUNCTUATION 0N/A * @see java.lang.Character#CONTROL 0N/A * @see java.lang.Character#CURRENCY_SYMBOL 0N/A * @see java.lang.Character#DASH_PUNCTUATION 0N/A * @see java.lang.Character#DECIMAL_DIGIT_NUMBER 0N/A * @see java.lang.Character#ENCLOSING_MARK 0N/A * @see java.lang.Character#END_PUNCTUATION 0N/A * @see java.lang.Character#FINAL_QUOTE_PUNCTUATION 0N/A * @see java.lang.Character#FORMAT 0N/A * @see java.lang.Character#INITIAL_QUOTE_PUNCTUATION 0N/A * @see java.lang.Character#LETTER_NUMBER 0N/A * @see java.lang.Character#LINE_SEPARATOR 0N/A * @see java.lang.Character#LOWERCASE_LETTER 0N/A * @see java.lang.Character#MATH_SYMBOL 0N/A * @see java.lang.Character#MODIFIER_LETTER 0N/A * @see java.lang.Character#MODIFIER_SYMBOL 0N/A * @see java.lang.Character#NON_SPACING_MARK 0N/A * @see java.lang.Character#OTHER_LETTER 0N/A * @see java.lang.Character#OTHER_NUMBER 0N/A * @see java.lang.Character#OTHER_PUNCTUATION 0N/A * @see java.lang.Character#OTHER_SYMBOL 0N/A * @see java.lang.Character#PARAGRAPH_SEPARATOR 0N/A * @see java.lang.Character#PRIVATE_USE 0N/A * @see java.lang.Character#SPACE_SEPARATOR 0N/A * @see java.lang.Character#START_PUNCTUATION 0N/A * @see java.lang.Character#SURROGATE 0N/A * @see java.lang.Character#TITLECASE_LETTER 0N/A * @see java.lang.Character#UNASSIGNED 0N/A * @see java.lang.Character#UPPERCASE_LETTER 0N/A * Returns a value indicating a character's general category. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return a value of type <code>int</code> representing the 0N/A * character's general category. 0N/A * @see Character#COMBINING_SPACING_MARK COMBINING_SPACING_MARK 0N/A * @see Character#CONNECTOR_PUNCTUATION CONNECTOR_PUNCTUATION 0N/A * @see Character#CONTROL CONTROL 0N/A * @see Character#CURRENCY_SYMBOL CURRENCY_SYMBOL 0N/A * @see Character#DASH_PUNCTUATION DASH_PUNCTUATION 0N/A * @see Character#DECIMAL_DIGIT_NUMBER DECIMAL_DIGIT_NUMBER 0N/A * @see Character#ENCLOSING_MARK ENCLOSING_MARK 0N/A * @see Character#END_PUNCTUATION END_PUNCTUATION 0N/A * @see Character#FINAL_QUOTE_PUNCTUATION FINAL_QUOTE_PUNCTUATION 0N/A * @see Character#FORMAT FORMAT 0N/A * @see Character#INITIAL_QUOTE_PUNCTUATION INITIAL_QUOTE_PUNCTUATION 0N/A * @see Character#LETTER_NUMBER LETTER_NUMBER 0N/A * @see Character#LINE_SEPARATOR LINE_SEPARATOR 0N/A * @see Character#LOWERCASE_LETTER LOWERCASE_LETTER 0N/A * @see Character#MATH_SYMBOL MATH_SYMBOL 0N/A * @see Character#MODIFIER_LETTER MODIFIER_LETTER 0N/A * @see Character#MODIFIER_SYMBOL MODIFIER_SYMBOL 0N/A * @see Character#NON_SPACING_MARK NON_SPACING_MARK 0N/A * @see Character#OTHER_LETTER OTHER_LETTER 0N/A * @see Character#OTHER_NUMBER OTHER_NUMBER 0N/A * @see Character#OTHER_PUNCTUATION OTHER_PUNCTUATION 0N/A * @see Character#OTHER_SYMBOL OTHER_SYMBOL 0N/A * @see Character#PARAGRAPH_SEPARATOR PARAGRAPH_SEPARATOR 0N/A * @see Character#PRIVATE_USE PRIVATE_USE 0N/A * @see Character#SPACE_SEPARATOR SPACE_SEPARATOR 0N/A * @see Character#START_PUNCTUATION START_PUNCTUATION 0N/A * @see Character#SURROGATE SURROGATE 0N/A * @see Character#TITLECASE_LETTER TITLECASE_LETTER 0N/A * @see Character#UNASSIGNED UNASSIGNED 0N/A * @see Character#UPPERCASE_LETTER UPPERCASE_LETTER 0N/A * Determines the character representation for a specific digit in 0N/A * the specified radix. If the value of <code>radix</code> is not a 0N/A * valid radix, or the value of <code>digit</code> is not a valid 0N/A * digit in the specified radix, the null character 0N/A * (<code>'\u0000'</code>) is returned. 0N/A * The <code>radix</code> argument is valid if it is greater than or 0N/A * equal to <code>MIN_RADIX</code> and less than or equal to 0N/A * <code>MAX_RADIX</code>. The <code>digit</code> argument is valid if 0N/A * <code>0 <=digit < radix</code>. 0N/A * If the digit is less than 10, then 0N/A * <code>'0' + digit</code> is returned. Otherwise, the value 0N/A * <code>'a' + digit - 10</code> is returned. 0N/A * @param digit the number to convert to a character. 0N/A * @param radix the radix. 0N/A * @return the <code>char</code> representation of the specified digit 0N/A * in the specified radix. 0N/A * @see java.lang.Character#MIN_RADIX 0N/A * @see java.lang.Character#MAX_RADIX 0N/A * @see java.lang.Character#digit(char, int) 0N/A * Returns the Unicode directionality property for the given 0N/A * character. Character directionality is used to calculate the 0N/A * visual ordering of text. The directionality value of undefined 0N/A * <code>char</code> values is <code>DIRECTIONALITY_UNDEFINED</code>. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #getDirectionality(int)} method. 0N/A * @param ch <code>char</code> for which the directionality property 0N/A * @return the directionality property of the <code>char</code> value. 0N/A * @see Character#DIRECTIONALITY_UNDEFINED 0N/A * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC 0N/A * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER 0N/A * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR 0N/A * @see Character#DIRECTIONALITY_ARABIC_NUMBER 0N/A * @see Character#DIRECTIONALITY_COMMON_NUMBER_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_NONSPACING_MARK 0N/A * @see Character#DIRECTIONALITY_BOUNDARY_NEUTRAL 0N/A * @see Character#DIRECTIONALITY_PARAGRAPH_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_SEGMENT_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_WHITESPACE 0N/A * @see Character#DIRECTIONALITY_OTHER_NEUTRALS 0N/A * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING 0N/A * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE 0N/A * @see Character#DIRECTIONALITY_POP_DIRECTIONAL_FORMAT 0N/A * Returns the Unicode directionality property for the given 0N/A * character (Unicode code point). Character directionality is 0N/A * used to calculate the visual ordering of text. The 0N/A * directionality value of undefined character is {@link 0N/A * #DIRECTIONALITY_UNDEFINED}. 0N/A * @param codePoint the character (Unicode code point) for which 0N/A * the directionality property is requested. 0N/A * @return the directionality property of the character. 0N/A * @see Character#DIRECTIONALITY_UNDEFINED DIRECTIONALITY_UNDEFINED 0N/A * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT DIRECTIONALITY_LEFT_TO_RIGHT 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT DIRECTIONALITY_RIGHT_TO_LEFT 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC 0N/A * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER DIRECTIONALITY_EUROPEAN_NUMBER 0N/A * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR 0N/A * @see Character#DIRECTIONALITY_ARABIC_NUMBER DIRECTIONALITY_ARABIC_NUMBER 0N/A * @see Character#DIRECTIONALITY_COMMON_NUMBER_SEPARATOR DIRECTIONALITY_COMMON_NUMBER_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_NONSPACING_MARK DIRECTIONALITY_NONSPACING_MARK 0N/A * @see Character#DIRECTIONALITY_BOUNDARY_NEUTRAL DIRECTIONALITY_BOUNDARY_NEUTRAL 0N/A * @see Character#DIRECTIONALITY_PARAGRAPH_SEPARATOR DIRECTIONALITY_PARAGRAPH_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_SEGMENT_SEPARATOR DIRECTIONALITY_SEGMENT_SEPARATOR 0N/A * @see Character#DIRECTIONALITY_WHITESPACE DIRECTIONALITY_WHITESPACE 0N/A * @see Character#DIRECTIONALITY_OTHER_NEUTRALS DIRECTIONALITY_OTHER_NEUTRALS 0N/A * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING 0N/A * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING 0N/A * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE 0N/A * @see Character#DIRECTIONALITY_POP_DIRECTIONAL_FORMAT DIRECTIONALITY_POP_DIRECTIONAL_FORMAT 0N/A * Determines whether the character is mirrored according to the 0N/A * Unicode specification. Mirrored characters should have their 0N/A * glyphs horizontally mirrored when displayed in text that is 0N/A * right-to-left. For example, <code>'\u0028'</code> LEFT 0N/A * PARENTHESIS is semantically defined to be an <i>opening 0N/A * parenthesis</i>. This will appear as a "(" in text that is 0N/A * left-to-right but as a ")" in text that is right-to-left. 0N/A * <p><b>Note:</b> This method cannot handle <a 0N/A * href="#supplementary"> supplementary characters</a>. To support 0N/A * all Unicode characters, including supplementary characters, use 0N/A * the {@link #isMirrored(int)} method. 0N/A * @param ch <code>char</code> for which the mirrored property is requested 0N/A * @return <code>true</code> if the char is mirrored, <code>false</code> 0N/A * if the <code>char</code> is not mirrored or is not defined. 0N/A * Determines whether the specified character (Unicode code point) 0N/A * is mirrored according to the Unicode specification. Mirrored 0N/A * characters should have their glyphs horizontally mirrored when 0N/A * displayed in text that is right-to-left. For example, 0N/A * <code>'\u0028'</code> LEFT PARENTHESIS is semantically 0N/A * defined to be an <i>opening parenthesis</i>. This will appear 0N/A * as a "(" in text that is left-to-right but as a ")" in text 0N/A * that is right-to-left. 0N/A * @param codePoint the character (Unicode code point) to be tested. 0N/A * @return <code>true</code> if the character is mirrored, <code>false</code> 0N/A * if the character is not mirrored or is not defined. 0N/A * Compares two <code>Character</code> objects numerically. 0N/A * @param anotherCharacter the <code>Character</code> to be compared. 0N/A * @return the value <code>0</code> if the argument <code>Character</code> 0N/A * is equal to this <code>Character</code>; a value less than 0N/A * <code>0</code> if this <code>Character</code> is numerically less 0N/A * than the <code>Character</code> argument; and a value greater than 0N/A * <code>0</code> if this <code>Character</code> is numerically greater 0N/A * than the <code>Character</code> argument (unsigned comparison). 0N/A * Note that this is strictly a numerical comparison; it is not 0N/A * Converts the character (Unicode code point) argument to uppercase using 0N/A * information from the UnicodeData file. 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @return either the uppercase equivalent of the character, if 0N/A * any, or an error flag (<code>Character.ERROR</code>) 0N/A * that indicates that a 1:M <code>char</code> mapping exists. 0N/A * @see java.lang.Character#isLowerCase(char) 0N/A * @see java.lang.Character#isUpperCase(char) 0N/A * @see java.lang.Character#toLowerCase(char) 0N/A * @see java.lang.Character#toTitleCase(char) 0N/A * Converts the character (Unicode code point) argument to uppercase using case 0N/A * mapping information from the SpecialCasing file in the Unicode 0N/A * specification. If a character has no explicit uppercase 0N/A * mapping, then the <code>char</code> itself is returned in the 0N/A * <code>char[]</code>. 0N/A * @param codePoint the character (Unicode code point) to be converted. 0N/A * @return a <code>char[]</code> with the uppercased character. 0N/A // As of Unicode 4.0, 1:M uppercasings only happen in the BMP. 0N/A * The number of bits used to represent a <tt>char</tt> value in unsigned 1602N/A * binary form, constant {@code 16}. 0N/A * Returns the value obtained by reversing the order of the bytes in the 0N/A * specified <tt>char</tt> value. 0N/A * @return the value obtained by reversing (or, equivalently, swapping) 0N/A * the bytes in the specified <tt>char</tt> value. 0N/A return (
char) (((
ch &
0xFF00) >>
8) | (
ch <<
8));