Character
java.lang.Object
|—java.lang.Character
public final class Character
extends Object
implements Serializable, Comparable<Character>
Character 类将原始类型 char 的值包装在一个对象中。 Character 类的对象包含一个类型为 char 的字段。
此外,该类提供了大量静态方法,用于确定字符的类别(小写字母、数字等)以及将字符从大写字母转换为小写字母,反之亦然。
Unicode 一致性
Character 类的字段和方法是根据 Unicode 标准中的字符信息定义的,特别是作为 Unicode 字符数据库一部分的 UnicodeData 文件。此文件为每个分配的 Unicode 代码点或字符范围指定属性,包括名称和类别。该文件可从 Unicode 联盟 http://www.unicode.org 获得。
Java SE 8 平台使用来自 Unicode 标准 6.2 版的字符信息,带有两个扩展。首先,Java SE 8 平台允许类 Character 的实现使用日本时代的代码点 U+32FF,从 6.2 之后分配代码点的 Unicode 标准的第一个版本开始。其次,鉴于新货币频繁出现这一事实,Java SE 8 平台允许类 Character 的实现使用 Unicode 标准 10.0 版中的货币符号块。因此,在处理上述代码点(版本 6.2 之外)时,Character 类的字段和方法的行为可能会因 Java SE 8 平台的实现而异,但以下定义 Java 标识符的方法除外:isJavaIdentifierStart(int)、isJavaIdentifierStart (char)、isJavaIdentifierPart(int) 和 isJavaIdentifierPart(char)。 Java 标识符中的代码点必须取自 Unicode 标准 6.2 版。
Unicode 字符表示
char 数据类型(以及因此 Character 对象封装的值)基于原始 Unicode 规范,该规范将字符定义为固定宽度的 16 位实体。此后,Unicode 标准已更改为允许表示需要超过 16 位的字符。合法代码点的范围现在是 U+0000 到 U+10FFFF,称为 Unicode 标量值。 (请参阅 Unicode 标准中 U+n 符号的定义。)
从 U+0000 到 U+FFFF 的字符集有时称为基本多语言平面 (BMP)。码位大于 U+FFFF 的字符称为补充字符。 Java 平台在 char 数组以及 String 和 StringBuffer 类中使用 UTF-16 表示。在此表示中,补充字符表示为一对 char 值,第一个来自高代理范围 (\uD800-\uDBFF),第二个来自低代理范围 (\uDC00-\uDFFF)。
因此,char 值表示基本多语言平面 (BMP) 代码点,包括代理代码点或 UTF-16 编码的代码单元。一个 int 值表示所有 Unicode 代码点,包括补充代码点。 int 的低(最低)21 位用于表示 Unicode 代码点,高(最高)11 位必须为零。除非另有说明,关于补充字符和代理字符值的行为如下:
- 只接受 char 值的方法不支持补充字符。 它们将代理范围中的 char 值视为未定义字符。 例如,Character.isLetter(‘\uD840’) 返回 false,即使此特定值后跟字符串中的任何低代理值将表示一个字母。
- 接受 int 值的方法支持所有 Unicode 字符,包括补充字符。 例如,Character.isLetter(0x2F81A) 返回 true,因为代码点值表示一个字母(CJK 表意文字)。
在 Java SE API 文档中,Unicode 代码点用于 U+0000 到 U+10FFFF 范围内的字符值,Unicode 代码单元用于 16 位字符值,即 UTF-16 编码的代码单元。
嵌套类摘要
修饰符和类型 | 类 | 描述 |
---|---|---|
static class | Character.Subset | 此类的实例表示 Unicode 字符集的特定子集。 |
static class | Character.UnicodeBlock | 表示 Unicode 规范中字符块的字符子集系列。 |
static class | Character.UnicodeScript | 表示 Unicode 标准附件 #24:脚本名称中定义的字符脚本的字符子集系列。 |
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
static int | BYTES | 用于以无符号二进制形式表示 char 值的字节数。 |
static byte | COMBINING_SPACING_MARK | Unicode 规范中的通用类别“Mc”。 |
static byte | CONNECTOR_PUNCTUATION | Unicode 规范中的通用类别“Pc”。 |
static byte | CONTROL | Unicode 规范中的通用类别“Cc”。 |
static byte | CURRENCY_SYMBOL | Unicode 规范中的通用类别“Sc”。 |
static byte | DASH_PUNCTUATION | Unicode 规范中的通用类别“Pd”。 |
static byte | DECIMAL_DIGIT_NUMBER | Unicode 规范中的通用类别“Nd”。 |
static byte | DIRECTIONALITY_ARABIC_NUMBER | Unicode 规范中的弱双向字符类型“AN”。 |
static byte | DIRECTIONALITY_BOUNDARY_NEUTRAL | Unicode 规范中的弱双向字符类型“BN”。 |
static byte | DIRECTIONALITY_COMMON_NUMBER_SEPARATOR | Unicode 规范中的弱双向字符类型“CS”。 |
static byte | DIRECTIONALITY_EUROPEAN_NUMBER | Unicode 规范中的弱双向字符类型“EN”。 |
static byte | DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR | Unicode 规范中的弱双向字符类型“ES”。 |
static byte | DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR | Unicode 规范中的弱双向字符类型“ET”。 |
static byte | DIRECTIONALITY_LEFT_TO_RIGHT | Unicode 规范中的强双向字符类型“L”。 |
static byte | DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING | Unicode 规范中的强双向字符类型“LRE”。 |
static byte | DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE | Unicode 规范中的强双向字符类型“LRO”。 |
static byte | DIRECTIONALITY_NONSPACING_MARK | Unicode 规范中的弱双向字符类型“NSM”。 |
static byte | DIRECTIONALITY_OTHER_NEUTRALS | Unicode 规范中的中性双向字符类型“ON”。 |
static byte | DIRECTIONALITY_PARAGRAPH_SEPARATOR | Unicode 规范中的中性双向字符类型“B”。 |
static byte | DIRECTIONALITY_POP_DIRECTIONAL_FORMAT | Unicode 规范中的弱双向字符类型“PDF”。 |
static byte | DIRECTIONALITY_RIGHT_TO_LEFT | Unicode 规范中的强双向字符类型“R”。 |
static byte | DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC | Unicode 规范中的强双向字符类型“AL”。 |
static byte | DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING | Unicode 规范中的强双向字符类型“RLE”。 |
static byte | DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE | Unicode 规范中的强双向字符类型“RLO”。 |
static byte | DIRECTIONALITY_SEGMENT_SEPARATOR | Unicode 规范中的中性双向字符类型“S”。 |
static byte | DIRECTIONALITY_UNDEFINED | 未定义的双向字符类型。 |
static byte | DIRECTIONALITY_WHITESPACE | Unicode 规范中的中性双向字符类型“WS”。 |
static byte | ENCLOSING_MARK | Unicode 规范中的通用类别“Me”。 |
static byte | END_PUNCTUATION | Unicode 规范中的通用类别“Pe”。 |
static byte | FINAL_QUOTE_PUNCTUATION | Unicode 规范中的通用类别“Pf”。 |
static byte | FORMAT | Unicode 规范中的通用类别“Cf”。 |
static byte | INITIAL_QUOTE_PUNCTUATION | Unicode 规范中的通用类别“Pi”。 |
static byte | LETTER_NUMBER | Unicode 规范中的通用类别“Nl”。 |
static byte | LINE_SEPARATOR | Unicode 规范中的通用类别“Zl”。 |
static byte | LOWERCASE_LETTER | Unicode 规范中的通用类别“Ll”。 |
static byte | MATH_SYMBOL | Unicode 规范中的通用类别“Sm”。 |
static int | MAX_CODE_POINT | Unicode 码位的最大值,常量 U+10FFFF。 |
static char | MAX_HIGH_SURROGATE | UTF-16 编码中 Unicode 高代理代码单元的最大值,常量 ‘\uDBFF’。 |
static char | MAX_LOW_SURROGATE | UTF-16 编码中 Unicode 低代理代码单元的最大值,常量 ‘\uDFFF’。 |
static int | MAX_RADIX | 可用于与字符串相互转换的最大基数。 |
static char | MAX_SURROGATE | UTF-16 编码中 Unicode 代理代码单元的最大值,常量 ‘\uDFFF’。 |
static char | MAX_VALUE | 该字段的常量值是 char 类型的最大值,’\uFFFF’。 |
static int | MIN_CODE_POINT | Unicode 代码点的最小值,常量 U+0000。 |
static char | MIN_HIGH_SURROGATE | UTF-16 编码中 Unicode 高代理代码单元的最小值,常量 ‘\uD800’。 |
static char | MIN_LOW_SURROGATE | UTF-16 编码中 Unicode 低代理代码单元的最小值,常量 ‘\uDC00’。 |
static int | MIN_RADIX | 可用于与字符串相互转换的最小基数。 |
static int | MIN_SUPPLEMENTARY_CODE_POINT | Unicode 补充码点的最小值,常数 U+10000。 |
static char | MIN_SURROGATE | UTF-16 编码中 Unicode 代理代码单元的最小值,常量 ‘\uD800’。 |
static char | MIN_VALUE | 该字段的常数值是 char 类型的最小值,’\u0000’。 |
static byte | MODIFIER_LETTER | Unicode 规范中的通用类别“Lm”。 |
static byte | MODIFIER_SYMBOL | Unicode 规范中的通用类别“Sk”。 |
static byte | NON_SPACING_MARK | Unicode 规范中的通用类别“Mn”。 |
static byte | OTHER_LETTER | Unicode 规范中的通用类别“Lo”。 |
static byte | OTHER_NUMBER | Unicode 规范中的通用类别“No”。 |
static byte | OTHER_PUNCTUATION | Unicode 规范中的通用类别“Po”。 |
static byte | OTHER_SYMBOL | Unicode 规范中的一般类别“So”。 |
static byte | PARAGRAPH_SEPARATOR | Unicode 规范中的通用类别“Zp”。 |
static byte | PRIVATE_USE | Unicode 规范中的通用类别“Co”。 |
static int | SIZE | 用于以无符号二进制形式表示 char 值的位数,常量 16。 |
static byte | SPACE_SEPARATOR | Unicode 规范中的通用类别“Zs”。 |
static byte | START_PUNCTUATION | Unicode 规范中的通用类别“Ps”。 |
static byte | SURROGATE | Unicode 规范中的通用类别“Cs”。 |
static byte | TITLECASE_LETTER | Unicode 规范中的通用类别“Lt”。 |
static ClassCharacter | TYPE | 表示基本类型 char 的 Class 实例。 |
static byte | UNASSIGNED | Unicode 规范中的通用类别“Cn”。 |
static byte | UPPERCASE_LETTER | Unicode 规范中的通用类别“Lu”。 |
构造函数摘要
构造函数 | 描述 |
---|---|
Character(char value) | 构造一个新分配的 Character 对象,该对象表示指定的 char 值。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
static int | charCount(int codePoint) | 确定表示指定字符(Unicode 代码点)所需的 char 值的数量。 |
char | charValue() | 返回此 Character 对象的值。 |
static int | codePointAt(char[] a, int index) | 返回 char 数组给定索引处的代码点。 |
static int | codePointAt(char[] a, int index, int limit) | 返回 char 数组给定索引处的代码点,其中只能使用索引小于限制的数组元素。 |
static int | codePointAt(CharSequence seq, int index) | 返回 CharSequence 的给定索引处的代码点。 |
static int | codePointBefore(char[] a, int index) | 返回 char 数组的给定索引之前的代码点。 |
static int | codePointBefore(char[] a, int index, int start) | 返回 char 数组的给定索引之前的代码点,其中只能使用索引大于或等于 start 的数组元素。 |
static int | codePointBefore(CharSequence seq, int index) | 返回 CharSequence 的给定索引之前的代码点。 |
static int | codePointCount(char[] a, int offset, int count) | 返回 char 数组参数的子数组中的 Unicode 代码点数。 |
static int | codePointCount(CharSequence seq, int beginIndex, int endIndex) | 返回指定字符序列的文本范围内的 Unicode 代码点数。 |
static int | compare(char x, char y) | 以数字方式比较两个 char 值。 |
int | compareTo(Character anotherCharacter) | 以数字方式比较两个 Character 对象。 |
static int | digit(char ch, int radix) | 返回指定基数中字符 ch 的数值。 |
static int | digit(int codePoint, int radix) | 返回指定基数中指定字符(Unicode 代码点)的数值。 |
boolean | equals(Object obj) | 将此对象与指定对象进行比较。 |
static char | forDigit(int digit, int radix) | 确定指定基数中特定数字的字符表示。 |
static byte | getDirectionality(char ch) | 返回给定字符的 Unicode 方向性属性。 |
static byte | getDirectionality(int codePoint) | 返回给定字符(Unicode 代码点)的 Unicode 方向性属性。 |
static String | getName(int codePoint) | 返回指定字符代码点的 Unicode 名称,如果代码点未分配,则返回 null。 |
static int | getNumericValue(char ch) | 返回指定 Unicode 字符表示的 int 值。 |
static int | getNumericValue(int codePoint) | 返回指定字符(Unicode 代码点)表示的 int 值。 |
static int | getType(char ch) | 返回一个值,指示字符的一般类别。 |
static int | getType(int codePoint) | 返回一个值,指示字符的一般类别。 |
int | hashCode() | 返回此字符的哈希码; 等于调用 charValue() 的结果。 |
static int | hashCode(char value) | 返回 char 值的哈希码; 与 Character.hashCode() 兼容。 |
static char | highSurrogate(int codePoint) | 返回以 UTF-16 编码表示指定补充字符(Unicode 代码点)的代理项对的前导代理项(高代理项代码单元)。 |
static boolean | isAlphabetic(int codePoint) | 确定指定字符(Unicode 代码点)是否为字母表。 |
static boolean | isBmpCodePoint(int codePoint) | 确定指定字符(Unicode 代码点)是否在基本多语言平面 (BMP) 中。 |
static boolean | isDefined(char ch) | 确定字符是否以 Unicode 定义。 |
static boolean | isDefined(int codePoint) | 确定字符(Unicode 代码点)是否以 Unicode 定义。 |
static boolean | isDigit(char ch) | 确定指定的字符是否为数字。 |
static boolean | isDigit(int codePoint) | 确定指定的字符(Unicode 代码点)是否为数字。 |
static boolean | isHighSurrogate(char ch) | 确定给定的 char 值是否是 Unicode 高代理代码单元(也称为前导代理代码单元)。 |
static boolean | isIdentifierIgnorable(char ch) | 确定是否应将指定字符视为 Java 标识符或 Unicode 标识符中的可忽略字符。 |
static boolean | isIdentifierIgnorable(int codePoint) | 确定是否应将指定字符(Unicode 代码点)视为 Java 标识符或 Unicode 标识符中的可忽略字符。 |
static boolean | isIdeographic(int codePoint) | 确定指定字符(Unicode 代码点)是否为 Unicode 标准定义的 CJKV(中文、日文、韩文和越南文)表意文字。 |
static boolean | isISOControl(char ch) | 确定指定字符是否为 ISO 控制字符。 |
static boolean | isISOControl(int codePoint) | 确定引用的字符(Unicode 代码点)是否为 ISO 控制字符。 |
static boolean | isJavaIdentifierPart(char ch) | 确定指定字符是否可以是 Java 标识符的一部分,而不是第一个字符。 |
static boolean | isJavaIdentifierPart(int codePoint) | 确定字符(Unicode 代码点)是否可以是 Java 标识符的一部分,而不是第一个字符。 |
static boolean | isJavaIdentifierStart(char ch) | 确定指定的字符是否允许作为 Java 标识符中的第一个字符。 |
static boolean | isJavaIdentifierStart(int codePoint) | 确定字符(Unicode 代码点)是否允许作为 Java 标识符中的第一个字符。 |
static boolean | isJavaLetter(char ch) | 已弃用。 替换为 isJavaIdentifierStart(char)。 |
static boolean | isJavaLetterOrDigit(char ch) | 已弃用。 替换为 isJavaIdentifierPart(char)。 |
static boolean | isLetter(char ch) | 确定指定的字符是否为字母。 |
static boolean | isLetter(int codePoint) | 确定指定字符(Unicode 代码点)是否为字母。 |
static boolean | isLetterOrDigit(char ch) | 确定指定的字符是字母还是数字。 |
static boolean | isLetterOrDigit(int codePoint) | 确定指定的字符(Unicode 代码点)是字母还是数字。 |
static boolean | isLowerCase(char ch) | 确定指定字符是否为小写字符。 |
static boolean | isLowerCase(int codePoint) | 确定指定字符(Unicode 代码点)是否为小写字符。 |
static boolean | isLowSurrogate(char ch) | 确定给定的 char 值是否是 Unicode 低代理代码单元(也称为尾随代理代码单元)。 |
static boolean | isMirrored(char ch) | 确定字符是否根据 Unicode 规范进行镜像。 |
static boolean | isMirrored(int codePoint) | 确定是否根据 Unicode 规范镜像指定的字符(Unicode 代码点)。 |
static boolean | isSpace(char ch) | 已弃用。 替换为 isWhitespace(char)。 |
static boolean | isSpaceChar(char ch) | 确定指定字符是否为 Unicode 空格字符。 |
static boolean | isSpaceChar(int codePoint) | 确定指定字符(Unicode 代码点)是否为 Unicode 空格字符。 |
static boolean | isSupplementaryCodePoint(int codePoint) | 确定指定字符(Unicode 代码点)是否在补充字符范围内。 |
static boolean | isSurrogate(char ch) | 确定给定的 char 值是否是 Unicode 代理代码单元。 |
static boolean | isSurrogatePair(char high, char low) | 确定指定的 char 值对是否为有效的 Unicode 代理项对。 |
static boolean | isTitleCase(char ch) | 确定指定的字符是否为标题字符。 |
static boolean | isTitleCase(int codePoint) | 确定指定字符(Unicode 代码点)是否为标题字符。 |
static boolean | isUnicodeIdentifierPart(char ch) | 确定指定字符是否可以是 Unicode 标识符的一部分,而不是第一个字符。 |
static boolean | isUnicodeIdentifierPart(int codePoint) | 确定指定字符(Unicode 代码点)是否可以是 Unicode 标识符的一部分,而不是第一个字符。 |
static boolean | isUnicodeIdentifierStart(char ch) | 确定指定字符是否允许作为 Unicode 标识符中的第一个字符。 |
static boolean | isUnicodeIdentifierStart(int codePoint) | 确定指定的字符(Unicode 代码点)是否允许作为 Unicode 标识符中的第一个字符。 |
static boolean | isUpperCase(char ch) | 确定指定字符是否为大写字符。 |
static boolean | isUpperCase(int codePoint) | 确定指定字符(Unicode 代码点)是否为大写字符。 |
static boolean | isValidCodePoint(int codePoint) | 确定指定的代码点是否是有效的 Unicode 代码点值。 |
static boolean | isWhitespace(char ch) | 根据 Java 确定指定字符是否为空格。 |
static boolean | isWhitespace(int codePoint) | 根据 Java 确定指定字符(Unicode 代码点)是否为空格。 |
static char | lowSurrogate(int codePoint) | 返回以 UTF-16 编码表示指定补充字符(Unicode 代码点)的代理项对的尾随代理项(低代理项代码单元)。 |
static int | offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) | 返回给定 char 子数组中从给定索引偏移 codePointOffset 代码点的索引。 |
static int | offsetByCodePoints(CharSequence seq, int index, int codePointOffset) | 返回给定 char 序列中的索引,该索引与给定索引偏移 codePointOffset 代码点。 |
static char | reverseBytes(char ch) | 返回通过反转指定 char 值中的字节顺序获得的值。 |
static char[] | toChars(int codePoint) | 将指定字符(Unicode 代码点)转换为存储在 char 数组中的 UTF-16 表示形式。 |
static int | toChars(int codePoint, char[] dst, int dstIndex) | 将指定的字符(Unicode 代码点)转换为其 UTF-16 表示。 |
static int | toCodePoint(char high, char low) | 将指定的代理对转换为其补充代码点值。 |
static char | toLowerCase(char ch) | 使用 UnicodeData 文件中的大小写映射信息将字符参数转换为小写。 |
static int | toLowerCase(int codePoint) | 使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为小写。 |
String | toString() | 返回一个表示此 Character 值的 String 对象。 |
static String | toString(char c) | 返回表示指定字符的 String 对象。 |
static char | toTitleCase(char ch) | 使用 UnicodeData 文件中的大小写映射信息将字符参数转换为标题大小写。 |
static int | toTitleCase(int codePoint) | 使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为标题大小写。 |
static char | toUpperCase(char ch) | 使用 UnicodeData 文件中的大小写映射信息将字符参数转换为大写。 |
static int | toUpperCase(int codePoint) | 使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为大写。 |
static Character | valueOf(char c) | 返回表示指定 char 值的 Character 实例。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息
BYTES
public static final int BYTES
用于以无符号二进制形式表示 char 值的字节数。
COMBINING_SPACING_MARK
public static final byte COMBINING_SPACING_MARK
Unicode 规范中的通用类别“Mc”。
CONNECTOR_PUNCTUATION
public static final byte CONNECTOR_PUNCTUATION
Unicode 规范中的通用类别“Pc”。
CONTROL
public static final byte CONTROL
Unicode 规范中的通用类别“Cc”。
CURRENCY_SYMBOL
public static final byte CURRENCY_SYMBOL
Unicode 规范中的通用类别“Sc”。
DASH_PUNCTUATION
public static final byte DASH_PUNCTUATION
Unicode 规范中的通用类别“Pd”。
DECIMAL_DIGIT_NUMBER
public static final byte DECIMAL_DIGIT_NUMBER
Unicode 规范中的通用类别“Nd”。
DIRECTIONALITY_ARABIC_NUMBER
public static final byte DIRECTIONALITY_ARABIC_NUMBER
Unicode 规范中的弱双向字符类型“AN”。
DIRECTIONALITY_BOUNDARY_NEUTRAL
public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL
Unicode 规范中的弱双向字符类型“BN”。
DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
Unicode 规范中的弱双向字符类型“CS”。
DIRECTIONALITY_EUROPEAN_NUMBER
public static final byte DIRECTIONALITY_EUROPEAN_NUMBER
Unicode 规范中的弱双向字符类型“EN”。
DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
Unicode 规范中的弱双向字符类型“ES”。
DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
Unicode 规范中的弱双向字符类型“ET”。
DIRECTIONALITY_LEFT_TO_RIGHT
public static final byte DIRECTIONALITY_LEFT_TO_RIGHT
Unicode 规范中的强双向字符类型“L”。
DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
Unicode 规范中的强双向字符类型“LRE”。
DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
Unicode 规范中的强双向字符类型“LRO”。
DIRECTIONALITY_NONSPACING_MARK
public static final byte DIRECTIONALITY_NONSPACING_MARK
Unicode 规范中的弱双向字符类型“NSM”。
DIRECTIONALITY_OTHER_NEUTRALS
public static final byte DIRECTIONALITY_OTHER_NEUTRALS
Unicode 规范中的中性双向字符类型“ON”。
DIRECTIONALITY_PARAGRAPH_SEPARATOR
public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR
Unicode 规范中的中性双向字符类型“B”。
DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
Unicode 规范中的弱双向字符类型“PDF”。
DIRECTIONALITY_RIGHT_TO_LEFT
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT
Unicode 规范中的强双向字符类型“R”。
DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
Unicode 规范中的强双向字符类型“AL”。
DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
Unicode 规范中的强双向字符类型“RLE”。
DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
Unicode 规范中的强双向字符类型“RLO”。
DIRECTIONALITY_SEGMENT_SEPARATOR
public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR
Unicode 规范中的中性双向字符类型“S”。
DIRECTIONALITY_UNDEFINED
public static final byte DIRECTIONALITY_UNDEFINED
未定义的双向字符类型。 未定义的 char 值在 Unicode 规范中具有未定义的方向性。
DIRECTIONALITY_WHITESPACE
public static final byte DIRECTIONALITY_WHITESPACE
Unicode 规范中的中性双向字符类型“WS”。
ENCLOSING_MARK
public static final byte ENCLOSING_MARK
Unicode 规范中的通用类别“Me”。
END_PUNCTUATION
public static final byte END_PUNCTUATION
Unicode 规范中的通用类别“Pe”。
FINAL_QUOTE_PUNCTUATION
public static final byte FINAL_QUOTE_PUNCTUATION
Unicode 规范中的通用类别“Pf”。
FORMAT
public static final byte FORMAT
Unicode 规范中的通用类别“Cf”。
INITIAL_QUOTE_PUNCTUATION
public static final byte INITIAL_QUOTE_PUNCTUATION
Unicode 规范中的通用类别“Pi”。
LETTER_NUMBER
public static final byte LETTER_NUMBER
Unicode 规范中的通用类别“Nl”。
LINE_SEPARATOR
public static final byte LINE_SEPARATOR
Unicode 规范中的通用类别“Zl”。
LOWERCASE_LETTER
public static final byte LOWERCASE_LETTER
Unicode 规范中的通用类别“Ll”。
MATH_SYMBOL
public static final byte MATH_SYMBOL
Unicode 规范中的通用类别“Sm”。
MAX_CODE_POINT
public static final int MAX_CODE_POINT
Unicode 码位的最大值,常量 U+10FFFF。
MAX_HIGH_SURROGATE
public static final char MAX_HIGH_SURROGATE
UTF-16 编码中 Unicode 高代理代码单元的最大值,常量 ‘\uDBFF’。 高代理也称为领先代理。
MAX_LOW_SURROGATE
public static final char MAX_LOW_SURROGATE
UTF-16 编码中 Unicode 低代理代码单元的最大值,常量 ‘\uDFFF’。 低代理也称为尾随代理。
MAX_RADIX
public static final int MAX_RADIX
可用于与字符串相互转换的最大基数。 该字段的常数值是基数转换方法(例如 digit 方法、forDigit 方法和 Integer 类的 toString 方法)中基数参数允许的最大值。
MAX_SURROGATE
public static final char MAX_SURROGATE
UTF-16 编码中 Unicode 代理代码单元的最大值,常量 ‘\uDFFF’。
MAX_VALUE
public static final char MAX_VALUE
该字段的常量值是 char 类型的最大值,’\uFFFF’。
MIN_CODE_POINT
public static final int MIN_CODE_POINT
Unicode 代码点的最小值,常量 U+0000。
MIN_HIGH_SURROGATE
public static final char MIN_HIGH_SURROGATE
UTF-16 编码中 Unicode 高代理代码单元的最小值,常量 ‘\uD800’。 高代理也称为领先代理。
MIN_LOW_SURROGATE
public static final char MIN_LOW_SURROGATE
UTF-16 编码中 Unicode 低代理代码单元的最小值,常量 ‘\uDC00’。 低代理也称为尾随代理。
MIN_RADIX
public static final int MIN_RADIX
可用于与字符串相互转换的最小基数。 该字段的常量值是基数转换方法(如 digit 方法、forDigit 方法和 Integer 类的 toString 方法)中允许的 radix 参数的最小值。
MIN_SUPPLEMENTARY_CODE_POINT
public static final int MIN_SUPPLEMENTARY_CODE_POINT
Unicode 补充码点的最小值,常数 U+10000。
MIN_SURROGATE
public static final char MIN_SURROGATE
UTF-16 编码中 Unicode 代理代码单元的最小值,常量 ‘\uD800’。
MIN_VALUE
public static final char MIN_VALUE
该字段的常数值是 char 类型的最小值,’\u0000’。
MODIFIER_LETTER
public static final byte MODIFIER_LETTER
Unicode 规范中的通用类别“Lm”。
MODIFIER_SYMBOL
public static final byte MODIFIER_SYMBOL
Unicode 规范中的通用类别“Sk”。
NON_SPACING_MARK
public static final byte NON_SPACING_MARK
Unicode 规范中的通用类别“Mn”。
OTHER_LETTER
public static final byte OTHER_LETTER
Unicode 规范中的通用类别“Lo”。
OTHER_NUMBER
public static final byte OTHER_NUMBER
Unicode 规范中的通用类别“No”。
OTHER_PUNCTUATION
public static final byte OTHER_PUNCTUATION
Unicode 规范中的通用类别“Po”。
OTHER_SYMBOL
public static final byte OTHER_SYMBOL
Unicode 规范中的一般类别“So”。
PARAGRAPH_SEPARATOR
public static final byte PARAGRAPH_SEPARATOR
Unicode 规范中的通用类别“Zp”。
PRIVATE_USE
public static final byte PRIVATE_USE
Unicode 规范中的通用类别“Co”。
SIZE
public static final int SIZE
用于以无符号二进制形式表示 char 值的位数,常量 16。
SPACE_SEPARATOR
public static final byte SPACE_SEPARATOR
Unicode 规范中的通用类别“Zs”。
START_PUNCTUATION
public static final byte START_PUNCTUATION
Unicode 规范中的通用类别“Ps”。
SURROGATE
public static final byte SURROGATE
Unicode 规范中的通用类别“Cs”。
TITLECASE_LETTER
public static final byte TITLECASE_LETTER
Unicode 规范中的通用类别“Lt”。
TYPE
public static final ClassCharacter TYPE
表示基本类型 char 的 Class 实例。
UNASSIGNED
public static final byte UNASSIGNED
Unicode 规范中的通用类别“Cn”。
UPPERCASE_LETTER
public static final byte UPPERCASE_LETTER
Unicode 规范中的通用类别“Lu”。
构造函数详细信息
Character
public Character(char value)
构造一个新分配的 Character 对象,该对象表示指定的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
value | 要由 Character 对象表示的值。 |
方法详情
valueOf
public static Character valueOf(char c)
返回表示指定 char 值的 Character 实例。 如果不需要新的 Character 实例,则通常应优先使用此方法而不是构造函数 Character(char),因为此方法可能会通过缓存频繁请求的值来显着提高空间和时间性能。 此方法将始终缓存 ‘\u0000’ 到 ‘\u007F’ 范围内的值,包括在内,并且可能缓存此范围之外的其他值。
参数:
参数名称 | 参数描述 |
---|---|
c | 一个字符值。 |
返回:
一个代表 c 的 Character 实例。
charValue
public char charValue()
返回此 Character 对象的值。
返回:
此对象表示的原始 char 值。
hashCode
public int hashCode()
返回此字符的哈希码; 等于调用 charValue() 的结果。
覆盖:
类 Object 中的 hashCode
返回:
此字符的哈希码值
hashCode
public static int hashCode(char value)
返回 char 值的哈希码; 与 Character.hashCode() 兼容。
参数:
参数名称 | 参数描述 |
---|---|
value | 要为其返回哈希码的字符。 |
返回:
char 值的哈希码值。
equals
public boolean equals(Object obj)
将此对象与指定对象进行比较。 当且仅当参数不为 null 并且是表示与此对象相同的 char 值的 Character 对象时,结果才为真。
覆盖:
类 Object 中的等于
参数:
参数名称 | 参数描述 |
---|---|
obj | 比较的对象。 |
返回:
如果对象相同,则为 true; 否则为假。
toString
public String toString()
返回一个表示此 Character 值的 String 对象。 结果是长度为 1 的字符串,其唯一组成部分是此 Character 对象表示的原始 char 值。
覆盖:
类 Object 中的 toString
返回:
此对象的字符串表示形式。
toString
public static String toString(char c)
返回表示指定字符的 String 对象。 结果是长度为 1 的字符串,仅由指定的字符组成。
参数:
参数名称 | 参数描述 |
---|---|
c | 要转换的字符 |
返回:
指定字符的字符串表示
isValidCodePoint
public static boolean isValidCodePoint(int codePoint)
确定指定的代码点是否是有效的 Unicode 代码点值。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的 Unicode 代码点 |
返回:
如果指定的代码点值介于 MIN_CODE_POINT 和 MAX_CODE_POINT 之间,则为 true; 否则为假。
isBmpCodePoint
public static boolean isBmpCodePoint(int codePoint)
确定指定字符(Unicode 代码点)是否在基本多语言平面 (BMP) 中。 这样的代码点可以使用单个字符来表示。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点) |
返回:
如果指定的代码点介于 MIN_VALUE 和 MAX_VALUE 之间,则为 true; 否则为假。
isSupplementaryCodePoint
public static boolean isSupplementaryCodePoint(int codePoint)
确定指定字符(Unicode 代码点)是否在补充字符范围内。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点) |
返回:
如果指定的代码点介于 MIN_SUPPLEMENTARY_CODE_POINT 和 MAX_CODE_POINT 之间,则为 true; 否则为假。
isHighSurrogate
public static boolean isHighSurrogate(char ch)
确定给定的 char 值是否是 Unicode 高代理代码单元(也称为前导代理代码单元)。
这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的 char 值。 |
返回:
如果 char 值介于 MIN_HIGH_SURROGATE 和 MAX_HIGH_SURROGATE 之间,则为 true; 否则为假。
isLowSurrogate
public static boolean isLowSurrogate(char ch)
确定给定的 char 值是否是 Unicode 低代理代码单元(也称为尾随代理代码单元)。
这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的 char 值。 |
返回:
如果 char 值介于 MIN_LOW_SURROGATE 和 MAX_LOW_SURROGATE 之间,则为 true; 否则为假。
isSurrogate
public static boolean isSurrogate(char ch)
确定给定的 char 值是否是 Unicode 代理代码单元。
这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。
char 值是代理代码单元当且仅当它是低代理代码单元或高代理代码单元。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的 char 值。 |
返回:
如果 char 值介于 MIN_SURROGATE 和 MAX_SURROGATE 之间,则为 true; 否则为假。
isSurrogatePair
public static boolean isSurrogatePair(char high, char low)
确定指定的 char 值对是否为有效的 Unicode 代理项对。
该方法等价于表达式:
isHighSurrogate(high) && isLowSurrogate(low)
参数:
参数名称 | 参数描述 |
---|---|
high | 要测试的高代理代码值 |
low | 要测试的低代理代码值 |
返回:
如果指定的高和低代理代码值表示有效的代理对,则为 true; 否则为假。
charCount
public static int charCount(int codePoint)
确定表示指定字符(Unicode 代码点)所需的 char 值的数量。 如果指定字符等于或大于 0x10000,则该方法返回 2。否则,该方法返回 1。
此方法不会验证指定字符是否为有效的 Unicode 代码点。 如有必要,调用者必须使用 isValidCodePoint 验证字符值。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
2 如果字符是有效的补充字符; 1 否则。
toCodePoint
public static int toCodePoint(char high, char low)
将指定的代理对转换为其补充代码点值。 此方法不验证指定的代理对。 如有必要,调用者必须使用 isSurrogatePair 对其进行验证。
参数:
参数名称 | 参数描述 |
---|---|
high | 高代理代码单元 |
low | 低代理代码单元 |
返回:
由指定代理对组成的补充代码点。
codePointAt
public static int codePointAt(CharSequence seq, int index)
返回 CharSequence 的给定索引处的代码点。 如果 CharSequence 中给定索引处的 char 值在高代理范围内,后续索引小于 CharSequence 的长度,并且后续索引处的 char 值在低代理范围内,则补充 返回与此代理对对应的代码点。 否则,返回给定索引处的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
seq | 一系列 char 值(Unicode 代码单元) |
index | 要转换的 seq 中 char 值(Unicode 代码单元)的索引 |
返回:
给定索引处的 Unicode 代码点
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 seq 为空。 |
IndexOutOfBoundsException | 如果值索引为负数或不小于 CharSequence#length()。 |
codePointAt
public static int codePointAt(char[] a, int index)
返回 char 数组给定索引处的代码点。 如果 char 数组中给定索引处的 char 值在高代理范围内,后面的索引小于 char 数组的长度,并且后面的索引处的 char 值在低代理范围内,则 返回与该代理对对应的补充代码点。 否则,返回给定索引处的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
a | 字符数组 |
index | 要转换的 char 数组中的 char 值(Unicode 代码单元)的索引 |
返回:
给定索引处的 Unicode 代码点
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 a 为空。 |
IndexOutOfBoundsException | 如果值索引为负数或不小于 char 数组的长度。 |
codePointAt
public static int codePointAt(char[] a, int index, int limit)
返回 char 数组给定索引处的代码点,其中只能使用索引小于限制的数组元素。 如果 char 数组中给定索引处的 char 值在高代理范围内,后面的索引小于限制,并且后面的索引处的 char 值在低代理范围内,则补充代码点 返回对应于这个代理对。 否则,返回给定索引处的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
a | 字符数组 |
index | 要转换的 char 数组中的 char 值(Unicode 代码单元)的索引 |
limit | 可以在 char 数组中使用的最后一个数组元素之后的索引 |
返回:
给定索引处的 Unicode 代码点
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 a 为空。 |
IndexOutOfBoundsException | 如果 index 参数为负数或不小于 limit 参数,或者 limit 参数为负数或大于 char 数组的长度。 |
codePointBefore
public static int codePointBefore(CharSequence seq, int index)
返回 CharSequence 的给定索引之前的代码点。 如果 CharSequence 中 (index – 1) 处的 char 值在低代理范围内,则 (index – 2) 不为负,并且 CharSequence 中 (index – 2) 处的 char 值在高代理范围内 ,则返回该代理对对应的补充码点。 否则,返回 (index – 1) 处的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
seq | CharSequence 实例 |
index | 应返回的代码点之后的索引 |
返回:
给定索引之前的 Unicode 代码点值。
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 seq 为空。 |
IndexOutOfBoundsException | 如果索引参数小于 1 或大于 CharSequence#length()。 |
codePointBefore
public static int codePointBefore(char[] a, int index)
返回 char 数组的给定索引之前的代码点。 如果 char 数组中 (index – 1) 处的 char 值在低代理范围内,则 (index – 2) 不为负,并且 char 数组中 (index – 2) 处的 char 值在高 – 代理范围,则返回该代理对对应的补充码位。 否则,返回 (index – 1) 处的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
a | 字符数组 |
index | 应返回的代码点之后的索引 |
返回:
给定索引之前的 Unicode 代码点值。
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 a 为空。 |
IndexOutOfBoundsException | 如果 index 参数小于 1 或大于 char 数组的长度 |
codePointBefore
public static int codePointBefore(char[] a, int index, int start)
返回 char 数组的给定索引之前的代码点,其中只能使用索引大于或等于 start 的数组元素。 如果 char 数组中 (index – 1) 处的 char 值在低代理范围内,则 (index – 2) 不小于 start,并且 char 数组中 (index – 2) 处的 char 值在 high-surrogate range,则返回该代理对对应的补充码点。 否则,返回 (index – 1) 处的 char 值。
参数:
参数名称 | 参数描述 |
---|---|
a | 字符数组 |
index | 应返回的代码点之后的索引 |
start | char 数组中第一个数组元素的索引 |
返回:
给定索引之前的 Unicode 代码点值。
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 a 为空。 |
IndexOutOfBoundsException | 如果 index 参数不大于 start 参数或大于 char 数组的长度,或者 start 参数为负数或不小于 char 数组的长度。 |
highSurrogate
public static char highSurrogate(int codePoint)
返回以 UTF-16 编码表示指定补充字符(Unicode 代码点)的代理项对的前导代理项(高代理项代码单元)。 如果指定的字符不是补充字符,则返回未指定的字符。
如果 isSupplementaryCodePoint(x) 为真,则 isHighSurrogate(highSurrogate(x)) 和 toCodePoint(highSurrogate(x), lowSurrogate(x)) == x 也始终为真。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 补充字符(Unicode 代码点) |
返回:
用于以 UTF-16 编码表示字符的前导代理代码单元
lowSurrogate
public static char lowSurrogate(int codePoint)
返回以 UTF-16 编码表示指定补充字符(Unicode 代码点)的代理项对的尾随代理项(低代理项代码单元)。 如果指定的字符不是补充字符,则返回未指定的字符。
如果 isSupplementaryCodePoint(x) 为真,则 isLowSurrogate(lowSurrogate(x)) 和 toCodePoint(highSurrogate(x), lowSurrogate(x)) == x 也始终为真。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 补充字符(Unicode 代码点) |
返回:
用于以 UTF-16 编码表示字符的尾随代理代码单元
toChars
public static int toChars(int codePoint, char[] dst, int dstIndex)
将指定的字符(Unicode 代码点)转换为其 UTF-16 表示。 如果指定的code point是BMP(Basic Multilingual Plane or Plane 0)值,则将相同的值存储在dst[dstIndex]中,并返回1。 如果指定的码位是增补字符,则将其代理值存储在 dst[dstIndex](高代理)和 dst[dstIndex+1](低代理)中,并返回 2。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要转换的字符(Unicode 代码点)。 |
dst | 一个 char 数组,其中存储了 codePoint 的 UTF-16 值。 |
dstIndex | 存储转换值的 dst 数组的起始索引。 |
返回:
如果代码点是 BMP 代码点,则为 1,如果代码点是补充代码点,则为 2。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果指定的 codePoint 不是有效的 Unicode 代码点。 |
NullPointerException | 如果指定的 dst 为空。 |
IndexOutOfBoundsException | 如果 dstIndex 为负数或不小于 dst.length,或者如果 dstIndex 处的 dst 没有足够的数组元素来存储结果 char 值。 (如果 dstIndex 等于 dst.length-1 并且指定的 codePoint 是补充字符,则高代理值不存储在 dst[dstIndex] 中。) |
toChars
public static char[] toChars(int codePoint)
将指定字符(Unicode 代码点)转换为存储在 char 数组中的 UTF-16 表示形式。 如果指定的代码点是 BMP(基本多语言平面或平面 0)值,则生成的 char 数组具有与 codePoint 相同的值。 如果指定的代码点是补充代码点,则生成的 char 数组具有相应的代理对。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 一个 Unicode 代码点 |
返回:
具有 codePoint 的 UTF-16 表示形式的 char 数组。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果指定的 codePoint 不是有效的 Unicode 代码点。 |
codePointCount
public static int codePointCount(CharSequence seq, int beginIndex, int endIndex)
返回指定字符序列的文本范围内的 Unicode 代码点数。 文本范围从指定的 beginIndex 开始并延伸到索引 endIndex – 1 处的字符。因此,文本范围的长度(以字符为单位)为 endIndex-beginIndex。 文本范围内的未配对代理项分别计为一个代码点。
参数:
参数名称 | 参数描述 |
---|---|
seq | 字符序列 |
beginIndex | 文本范围的第一个字符的索引。 |
endIndex | 文本范围的最后一个字符之后的索引。 |
返回:
指定文本范围内的 Unicode 代码点数
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 seq 为空。 |
IndexOutOfBoundsException | 如果 beginIndex 为负数,或者 endIndex 大于给定序列的长度,或者 beginIndex 大于 endIndex。 |
codePointCount
public static int codePointCount(char[] a, int offset, int count)
返回 char 数组参数的子数组中的 Unicode 代码点数。 offset 参数是子数组的第一个 char 的索引,count 参数指定子数组的长度(以 chars 为单位)。 子数组中未配对的代理项各自计为一个代码点。
参数:
参数名称 | 参数描述 |
---|---|
a | 字符数组 |
offset | 给定 char 数组中第一个 char 的索引 |
count | 以字符为单位的子数组的长度 |
返回:
指定子数组中的 Unicode 代码点数
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 a 为空。 |
IndexOutOfBoundsException | 如果 offset 或 count 为负,或者 offset + count 大于给定数组的长度。 |
offsetByCodePoints
public static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset)
返回给定 char 序列中的索引,该索引与给定索引偏移 codePointOffset 代码点。 由 index 和 codePointOffset 给出的文本范围内的未配对代理分别计为一个代码点。
参数:
参数名称 | 参数描述 |
---|---|
seq | 字符序列 |
index | 要偏移的索引 |
codePointOffset | 代码点的偏移量 |
返回:
char 序列中的索引
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 seq 为空。 |
IndexOutOfBoundsException | 如果 index 为负或大于 char 序列的长度,或者如果 codePointOffset 为正并且以 index 开头的子序列的代码点少于 codePointOffset,或者如果 codePointOffset 为负并且 index 之前的子序列的绝对值小于 codePointOffset 码点。 |
offsetByCodePoints
public static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)
返回给定 char 子数组中从给定索引偏移 codePointOffset 代码点的索引。 start 和 count 参数指定 char 数组的子数组。 由 index 和 codePointOffset 给出的文本范围内的未配对代理分别计为一个代码点。
参数:
参数名称 | 参数描述 |
---|---|
a | 字符数组 |
start | 子数组的第一个字符的索引 |
count | 以字符为单位的子数组的长度 |
index | 要偏移的索引 |
codePointOffset | 代码点的偏移量 |
返回:
子数组中的索引
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 a 为空。 |
IndexOutOfBoundsException | 如果 start 或 count 为负数,或者如果 start + count 大于给定数组的长度,或者如果 index 小于 start 或大于 start + count,或者如果 codePointOffset 为正且文本范围以 index 开头和结尾 带有 start + count – 1 的代码点少于 codePointOffset ,或者如果 codePointOffset 为负数并且以 start 开始并以 index – 1 结尾的文本范围少于 codePointOffset 代码点的绝对值。 |
isLowerCase
public static boolean isLowerCase(char ch)
确定指定字符是否为小写字符。
如果 Character.getType(ch) 提供的一般类别类型为 LOWERCASE_LETTER,或者它具有 Unicode 标准定义的贡献属性 Other_Lowercase,则字符为小写。
以下是小写字符的示例:
a b c d e f g h i j k l m n o p q r s t u v w x y z '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6' '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE' '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6' '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF'
许多其他 Unicode 字符也是小写的。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isLowerCase(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是小写,则为真; 否则为假。
isLowerCase
public static boolean isLowerCase(int codePoint)
确定指定字符(Unicode 代码点)是否为小写字符。
如果 Character#getType 提供的一般类别类型为 LOWERCASE_LETTER,或者它具有 Unicode 标准定义的贡献属性 Other_Lowercase,则字符为小写。
以下是小写字符的示例:
a b c d e f g h i j k l m n o p q r s t u v w x y z '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6' '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE' '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6' '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF'
许多其他 Unicode 字符也是小写的。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是小写,则为真; 否则为假。
isUpperCase
public static boolean isUpperCase(char ch)
确定指定字符是否为大写字符。
如果 Character.getType(ch) 提供的一般类别类型为 UPPERCASE_LETTER,则该字符为大写。 或者它具有 Unicode 标准定义的贡献属性 Other_Uppercase。
以下是大写字符的示例:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7' '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF' '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8' '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE'
许多其他 Unicode 字符也是大写的。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isUpperCase(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是大写的,则为真; 否则为假。
isUpperCase
public static boolean isUpperCase(int codePoint)
确定指定字符(Unicode 代码点)是否为大写字符。
如果 Character#getType(int) 提供的一般类别类型为 UPPERCASE_LETTER,或者它具有 Unicode 标准定义的贡献属性 Other_Uppercase,则字符为大写。
以下是大写字符的示例:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7' '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF' '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8' '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE'
许多其他 Unicode 字符也是大写的。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是大写的,则为真; 否则为假。
isTitleCase
public static boolean isTitleCase(char ch)
确定指定的字符是否为标题字符。
如果 Character.getType(ch) 提供的一般类别类型为 TITLECASE_LETTER,则该字符是标题大写字符。
有些字符看起来像成对的拉丁字母。例如,有一个看起来像“LJ”的大写字母和一个看起来像“lj”的对应小写字母。第三种形式,看起来像“Lj”,是在以首字母大写的小写字母呈现单词时使用的适当形式,如书名。
以下是此方法返回 true 的一些 Unicode 字符:
- 带有小写字母 Z 和 CARON 的拉丁文大写字母 D
- 带有小写字母 J 的拉丁文大写字母 L
- 带有小写字母 J 的拉丁文大写字母 N
- 带有小写字母 Z 的拉丁文大写字母 D
许多其他 Unicode 字符也是标题大小写。
注意:此方法不能处理补充字符。要支持所有 Unicode 字符,包括补充字符,请使用 isTitleCase(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是首字母大写,则为真; 否则为假。
isTitleCase
public static boolean isTitleCase(int codePoint)
确定指定字符(Unicode 代码点)是否为标题字符。
如果由 Character#getType(int) 提供的一般类别类型为 TITLECASE_LETTER,则该字符是标题大写字符。
有些字符看起来像成对的拉丁字母。 例如,有一个看起来像“LJ”的大写字母和一个看起来像“lj”的对应小写字母。 第三种形式,看起来像“Lj”,是在以首字母大写的小写字母呈现单词时使用的适当形式,如书名。
以下是此方法返回 true 的一些 Unicode 字符:
- 带有小写字母 Z 和 CARON 的拉丁文大写字母 D
- 带有小写字母 J 的拉丁文大写字母 L
- 带有小写字母 J 的拉丁文大写字母 N
- 带有小写字母 Z 的拉丁文大写字母 D
许多其他 Unicode 字符也是标题大小写。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是首字母大写,则为真; 否则为假。
isDigit
public static boolean isDigit(char ch)
确定指定的字符是否为数字。
如果 Character.getType(ch) 提供的一般类别类型为 DECIMAL_DIGIT_NUMBER,则该字符是数字。
一些包含数字的 Unicode 字符范围:
- ‘\u0030’ 到 ‘\u0039’,ISO-LATIN-1 数字(’0’ 到 ‘9’)
- ‘\u0660’ 到 ‘\u0669’,阿拉伯-印度数字
- ‘\u06F0’ 到 ‘\u06F9’,扩展的阿拉伯-印度数字
- ‘\u0966’ 到 ‘\u096F’,梵文数字
- ‘\uFF10’ 到 ‘\uFF19’,全角数字
许多其他字符范围也包含数字。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isDigit(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是数字则为真; 否则为假。
isDigit
public static boolean isDigit(int codePoint)
确定指定的字符(Unicode 代码点)是否为数字。
如果 Character#getType(int) 提供的一般类别类型为 DECIMAL_DIGIT_NUMBER,则该字符是数字。
一些包含数字的 Unicode 字符范围:
- ‘\u0030’ 到 ‘\u0039’,ISO-LATIN-1 数字(’0’ 到 ‘9’)
- ‘\u0660’ 到 ‘\u0669’,阿拉伯-印度数字
- ‘\u06F0’ 到 ‘\u06F9’,扩展的阿拉伯-印度数字
- ‘\u0966’ 到 ‘\u096F’,梵文数字
- ‘\uFF10’ 到 ‘\uFF19’,全角数字
许多其他字符范围也包含数字。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是数字则为真; 否则为假。
isDefined
public static boolean isDefined(char ch)
确定字符是否以 Unicode 定义。
如果以下至少一项为真,则定义一个字符:
- 它在 UnicodeData 文件中有一个条目。
- 它的值在 UnicodeData 文件定义的范围内。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isDefined(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符 |
返回:
如果字符在 Unicode 中具有定义的含义,则为 true; 否则为假。
isDefined
public static boolean isDefined(int codePoint)
确定字符(Unicode 代码点)是否以 Unicode 定义。
如果以下至少一项为真,则定义一个字符:
- 它在 UnicodeData 文件中有一个条目。
- 它的值在 UnicodeData 文件定义的范围内。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符在 Unicode 中具有定义的含义,则为 true; 否则为假。
isLetter
public static boolean isLetter(char ch)
确定指定的字符是否为字母。
如果 Character.getType(ch) 提供的一般类别类型为以下任何一种,则该字符被视为字母:
- 大写字母
- 小写字母
- 标题字母
- MODIFIER_LETTER
- OTHER_LETTER
并非所有字母都有大小写。 许多字符是字母,但既不是大写,也不是小写,也不是标题。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isLetter(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是字母,则为真; 否则为假。
isLetter
public static boolean isLetter(int codePoint)
确定指定字符(Unicode 代码点)是否为字母。
如果 Character#getType(int) 提供的一般类别类型为以下任何一种,则该字符被视为字母:
- 大写字母
- 小写字母
- 标题字母
- MODIFIER_LETTER
- OTHER_LETTER
并非所有字母都有大小写。 许多字符是字母,但既不是大写,也不是小写,也不是标题。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是字母,则为真; 否则为假。
isLetterOrDigit
public static boolean isLetterOrDigit(char ch)
确定指定的字符是字母还是数字。
如果 Character.isLetter(char ch) 或 Character.isDigit(char ch) 为字符返回 true,则认为该字符是字母或数字。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isLetterOrDigit(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是字母或数字,则为真; 否则为假。
isLetterOrDigit
public static boolean isLetterOrDigit(int codePoint)
确定指定的字符(Unicode 代码点)是字母还是数字。
如果 isLetter(codePoint) 或 isDigit(codePoint) 对字符返回 true,则认为该字符是字母或数字。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是字母或数字,则为真; 否则为假。
isJavaLetter
@Deprecated public static boolean isJavaLetter(char ch)
已弃用。 替换为 isJavaIdentifierStart(char)。
确定指定的字符是否允许作为 Java 标识符中的第一个字符。
当且仅当以下条件之一为真时,字符才可以开始 Java 标识符:
- isLetter(ch) 返回真
- getType(ch) 返回 LETTER_NUMBER
- ch 是货币符号(例如’$’)
- ch 是一个连接标点符号(例如’_’)。
这些条件是针对 Unicode 标准 6.2 版中的字符信息进行测试的。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符可以开始 Java 标识符,则为 true; 否则为假。
isJavaLetterOrDigit
@Deprecated public static boolean isJavaLetterOrDigit(char ch)
已弃用。 替换为 isJavaIdentifierPart(char)。
确定指定字符是否可以是 Java 标识符的一部分,而不是第一个字符。
当且仅当以下任何条件为真时,字符才可能是 Java 标识符的一部分:
- 这是一封信
- 它是一个货币符号(例如’$’)
- 它是一个连接标点符号(例如’_’)
- 这是一个数字
- 它是一个数字字母(如罗马数字字符)
- 它是一个组合标记
- 它是一个非间距标记
- isIdentifierIgnorable 为字符返回 true。
这些条件是针对 Unicode 标准 6.2 版中的字符信息进行测试的。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符可能是 Java 标识符的一部分,则为 true; 否则为假。
isAlphabetic
public static boolean isAlphabetic(int codePoint)
确定指定字符(Unicode 代码点)是否为字母表。
如果 Character#getType(int) 提供的一般类别类型是以下任何一种,则认为该字符是字母字符:
- 大写字母
- 小写字母
- 标题字母
- MODIFIER_LETTER
- OTHER_LETTER
- LETTER_NUMBER
或者它具有 Unicode 标准定义的贡献属性 Other_Alphabetic。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是 Unicode 字母字符,则为 true,否则为 false。
isIdeographic
public static boolean isIdeographic(int codePoint)
确定指定字符(Unicode 代码点)是否为 Unicode 标准定义的 CJKV(中文、日文、韩文和越南文)表意文字。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是 Unicode 表意字符,则为 true,否则为 false。
isJavaIdentifierStart
public static boolean isJavaIdentifierStart(char ch)
确定指定的字符是否允许作为 Java 标识符中的第一个字符。
当且仅当以下条件之一为真时,字符才可以开始 Java 标识符:
- isLetter(ch) 返回真
- getType(ch) 返回 LETTER_NUMBER
- ch 是货币符号(例如’$’)
- ch 是一个连接标点符号(例如’_’)。
这些条件是针对 Unicode 标准 6.2 版中的字符信息进行测试的。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isJavaIdentifierStart(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符可以开始 Java 标识符,则为 true; 否则为假。
isJavaIdentifierStart
public static boolean isJavaIdentifierStart(int codePoint)
确定字符(Unicode 代码点)是否允许作为 Java 标识符中的第一个字符。
当且仅当以下条件之一为真时,字符才可以开始 Java 标识符:
- isLetter(codePoint) 返回真
- getType(codePoint) 返回 LETTER_NUMBER
- 引用的字符是货币符号(例如’$’)
- 引用的字符是一个连接标点字符(例如’_’)。
这些条件是针对 Unicode 标准 6.2 版中的字符信息进行测试的。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符可以开始 Java 标识符,则为 true; 否则为假。
isJavaIdentifierPart
public static boolean isJavaIdentifierPart(char ch)
确定指定字符是否可以是 Java 标识符的一部分,而不是第一个字符。
如果满足以下任一条件,则字符可能是 Java 标识符的一部分:
- 这是一封信
- 它是一个货币符号(例如’$’)
- 它是一个连接标点符号(例如’_’)
- 这是一个数字
- 它是一个数字字母(如罗马数字字符)
- 它是一个组合标记
- 它是一个非间距标记
- isIdentifierIgnorable 为字符返回 true
这些条件是针对 Unicode 标准 6.2 版中的字符信息进行测试的。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isJavaIdentifierPart(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符可能是 Java 标识符的一部分,则为 true; 否则为假。
isJavaIdentifierPart
public static boolean isJavaIdentifierPart(int codePoint)
确定字符(Unicode 代码点)是否可以是 Java 标识符的一部分,而不是第一个字符。
如果满足以下任一条件,则字符可能是 Java 标识符的一部分:
- 这是一封信
- 它是一个货币符号(例如’$’)
- 它是一个连接标点符号(例如’_’)
- 这是一个数字
- 它是一个数字字母(如罗马数字字符)
- 它是一个组合标记
- 它是一个非间距标记
- isIdentifierIgnorable(codePoint) 为代码点返回 true
这些条件是针对 Unicode 标准 6.2 版中的字符信息进行测试的。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符可能是 Java 标识符的一部分,则为 true; 否则为假。
isUnicodeIdentifierStart
public static boolean isUnicodeIdentifierStart(char ch)
确定指定字符是否允许作为 Unicode 标识符中的第一个字符。
当且仅当以下条件之一为真时,字符才可以开始 Unicode 标识符:
- isLetter(ch) 返回真
- getType(ch) 返回 LETTER_NUMBER。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isUnicodeIdentifierStart(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符可以开始一个 Unicode 标识符,则为 true; 否则为假。
isUnicodeIdentifierStart
public static boolean isUnicodeIdentifierStart(int codePoint)
确定指定的字符(Unicode 代码点)是否允许作为 Unicode 标识符中的第一个字符。
当且仅当以下条件之一为真时,字符才可以开始 Unicode 标识符:
- isLetter(codePoint) 返回真
- getType(codePoint) 返回 LETTER_NUMBER。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符可以开始一个 Unicode 标识符,则为 true; 否则为假。
isUnicodeIdentifierPart
public static boolean isUnicodeIdentifierPart(char ch)
确定指定字符是否可以是 Unicode 标识符的一部分,而不是第一个字符。
当且仅当以下语句之一为真时,字符才可能是 Unicode 标识符的一部分:
- 这是一封信
- 它是一个连接标点符号(例如’_’)
- 这是一个数字
- 它是一个数字字母(如罗马数字字符)
- 它是一个组合标记
- 它是一个非间距标记
- isIdentifierIgnorable 为该字符返回 true。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isUnicodeIdentifierPart(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符可能是 Unicode 标识符的一部分,则为 true; 否则为假。
isUnicodeIdentifierPart
public static boolean isUnicodeIdentifierPart(int codePoint)
确定指定字符(Unicode 代码点)是否可以是 Unicode 标识符的一部分,而不是第一个字符。
当且仅当以下语句之一为真时,字符才可能是 Unicode 标识符的一部分:
- 这是一封信
- 它是一个连接标点符号(例如’_’)
- 这是一个数字
- 它是一个数字字母(如罗马数字字符)
- 它是一个组合标记
- 它是一个非间距标记
- isIdentifierIgnorable 为该字符返回 true。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符可能是 Unicode 标识符的一部分,则为 true; 否则为假。
isIdentifierIgnorable
public static boolean isIdentifierIgnorable(char ch)
确定是否应将指定字符视为 Java 标识符或 Unicode 标识符中的可忽略字符。
在 Java 标识符或 Unicode 标识符中可以忽略以下 Unicode 字符:
- 非空白的 ISO 控制字符
- ‘\u0000’ 到 ‘\u0008’
- ‘\u000E’ 到 ‘\u001B’
- ‘\u007F’ 到 ‘\u009F’
- 所有具有 FORMAT 通用类别值的字符
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isIdentifierIgnorable(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果该字符是一个可忽略的控制字符,它可能是 Java 或 Unicode 标识符的一部分,则为 true; 否则为假。
isIdentifierIgnorable
public static boolean isIdentifierIgnorable(int codePoint)
确定是否应将指定字符(Unicode 代码点)视为 Java 标识符或 Unicode 标识符中的可忽略字符。
在 Java 标识符或 Unicode 标识符中可以忽略以下 Unicode 字符:
- 非空白的 ISO 控制字符
- ‘\u0000’ 到 ‘\u0008’
- ‘\u000E’ 到 ‘\u001B’
- ‘\u007F’ 到 ‘\u009F’
- 所有具有 FORMAT 通用类别值的字符
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果该字符是一个可忽略的控制字符,它可能是 Java 或 Unicode 标识符的一部分,则为 true; 否则为假。
toLowerCase
public static char toLowerCase(char ch)
使用 UnicodeData 文件中的大小写映射信息将字符参数转换为小写。
请注意,对于某些字符范围,尤其是符号或表意文字,Character.isLowerCase(Character.toLowerCase(ch)) 并不总是返回 true。
通常,应使用 String#toLowerCase() 将字符映射为小写。 字符串大小写映射方法比字符大小写映射方法有几个好处。 字符串大小写映射方法可以执行区域敏感映射、上下文敏感映射和 1:M 字符映射,而字符大小写映射方法不能。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 toLowerCase(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要转换的字符。 |
返回:
字符的小写等效项,如果有的话; 否则,角色本身。
toLowerCase
public static int toLowerCase(int codePoint)
使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为小写。
请注意 Character.isLowerCase(Character.toLowerCase(codePoint)) 对于某些字符范围并不总是返回 true,尤其是那些符号或表意文字。
通常,应使用 String#toLowerCase() 将字符映射为小写。 字符串大小写映射方法比字符大小写映射方法有几个好处。 字符串大小写映射方法可以执行区域敏感映射、上下文敏感映射和 1:M 字符映射,而字符大小写映射方法不能。
参数:
Parameter Name | Parameter Description |
---|---|
codePoint | the character (Unicode code point) to be converted. |
返回:
字符的小写等效字符(Unicode 代码点),如果有的话; 否则,角色本身。
toUpperCase
public static char toUpperCase(char ch)
使用 UnicodeData 文件中的大小写映射信息将字符参数转换为大写。
请注意,Character.isUpperCase(Character.toUpperCase(ch)) 对于某些字符范围并不总是返回 true,尤其是那些符号或表意文字。
通常,应使用 String#toUpperCase() 将字符映射为大写。 字符串大小写映射方法比字符大小写映射方法有几个好处。 字符串大小写映射方法可以执行区域敏感映射、上下文敏感映射和 1:M 字符映射,而字符大小写映射方法不能。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 toUpperCase(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要转换的字符。 |
返回:
字符的大写等效项(如果有); 否则,角色本身。
toUpperCase
public static int toUpperCase(int codePoint)
使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为大写。
请注意 Character.isUpperCase(Character.toUpperCase(codePoint)) 对于某些字符范围并不总是返回 true,尤其是符号或表意文字。
通常,应使用 String#toUpperCase() 将字符映射为大写。 字符串大小写映射方法比字符大小写映射方法有几个好处。 字符串大小写映射方法可以执行区域敏感映射、上下文敏感映射和 1:M 字符映射,而字符大小写映射方法不能。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要转换的字符(Unicode 代码点)。 |
返回:
字符的大写等效项(如果有); 否则,角色本身。
toTitleCase
public static char toTitleCase(char ch)
使用 UnicodeData 文件中的大小写映射信息将字符参数转换为标题大小写。 如果一个字符没有明确的首字母大写映射并且根据 UnicodeData 本身不是首字母大写字符,则大写映射作为等效的首字母大写映射返回。 如果 char 参数已经是 titlecase char,则将返回相同的 char 值。
请注意,对于某些字符范围,Character.isTitleCase(Character.toTitleCase(ch)) 并不总是返回 true。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 toTitleCase(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要转换的字符。 |
返回:
如果有的话,相当于该字符的标题大小写; 否则,角色本身。
toTitleCase
public static int toTitleCase(int codePoint)
使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为标题大小写。 如果一个字符没有明确的首字母大写映射并且根据 UnicodeData 本身不是首字母大写字符,则大写映射作为等效的首字母大写映射返回。 如果字符参数已经是标题字符,将返回相同的字符值。
请注意,对于某些字符范围,Character.isTitleCase(Character.toTitleCase(codePoint)) 并不总是返回 true。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要转换的字符(Unicode 代码点)。 |
返回:
如果有的话,相当于该字符的标题大小写; 否则,角色本身。
digit
public static int digit(char ch, int radix)
返回指定基数中字符 ch 的数值。
如果基数不在 MIN_RADIX ≤ radix ≤ MAX_RADIX 范围内,或者如果 ch 的值不是指定基数中的有效数字,则返回 -1。如果以下至少一项为真,则字符是有效数字:
- isDigit 方法对字符为真且字符的 Unicode 十进制数字值(或其单字符分解)小于指定的基数。在这种情况下,返回十进制数字值。
- 字符是大写拉丁字母 ‘A’ 到 ‘Z’ 之一,其代码小于 radix + ‘A’ – 10。在这种情况下,返回 ch – ‘A’ + 10。
- 字符是小写拉丁字母 ‘a’ 到 ‘z’ 之一,其代码小于 radix + ‘a’ – 10。在这种情况下,返回 ch – ‘a’ + 10。
- 字符是全角大写拉丁字母 A (‘\uFF21’) 到 Z (‘\uFF3A’) 之一,其代码小于基数 + ‘\uFF21’ – 10。在这种情况下,ch – ‘\uFF21 ‘ + 10 返回。
- 字符是全角小写拉丁字母 a (‘\uFF41’) 到 z (‘\uFF5A’) 之一,其代码小于基数 + ‘\uFF41’ – 10。在这种情况下,ch – ‘\uFF41 ‘ + 10 返回。
注意:此方法不能处理补充字符。要支持所有 Unicode 字符,包括补充字符,请使用 digit(int,int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要转换的字符。 |
radix | 基数。 |
返回:
由指定基数中的字符表示的数值。
digit
public static int digit(int codePoint, int radix)
返回指定基数中指定字符(Unicode 代码点)的数值。
如果基数不在 MIN_RADIX ≤ radix ≤ MAX_RADIX 范围内,或者如果字符不是指定基数中的有效数字,则返回 -1。如果以下至少一项为真,则字符是有效数字:
- isDigit(codePoint) 方法对字符为真且字符的 Unicode 十进制数字值(或其单字符分解)小于指定的基数。在这种情况下,返回十进制数字值。
- 字符是大写拉丁字母 ‘A’ 到 ‘Z’ 之一,其代码小于 radix + ‘A’ – 10。在这种情况下,返回 codePoint – ‘A’ + 10。
- 字符是小写拉丁字母 ‘a’ 到 ‘z’ 之一,其代码小于 radix + ‘a’ – 10。在这种情况下,返回 codePoint – ‘a’ + 10。
- 字符是全角大写拉丁字母 A (‘\uFF21’) 到 Z (‘\uFF3A’) 之一,其代码小于基数 + ‘\uFF21’ – 10。在这种情况下,codePoint – ‘\uFF21 ‘ + 10 返回。
- 字符是全角小写拉丁字母 a (‘\uFF41’) 到 z (‘\uFF5A’) 之一,其代码小于基数 + ‘\uFF41’- 10。在这种情况下,codePoint – ‘\uFF41 ‘ + 10 返回。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要转换的字符(Unicode 代码点)。 |
radix | 基数。 |
返回:
由指定基数中的字符表示的数值。
getNumericValue
public static int getNumericValue(char ch)
返回指定 Unicode 字符表示的 int 值。 例如,字符 ‘\u216C’(罗马数字 50)将返回一个值为 50 的 int。
大写字母 A-Z(’\u0041′ 到 ‘\u005A’)、小写字母(’\u0061’ 到 ‘\u007A’)和全角变体(’\uFF21’ 到 ‘\uFF3A’ 和 ‘\uFF41’ 通过 ‘\uFF5A’) 形式具有从 10 到 35 的数值。这与 Unicode 规范无关,Unicode 规范不为这些 char 值分配数值。
如果字符没有数值,则返回 -1。 如果字符具有不能表示为非负整数的数值(例如,小数值),则返回 -2。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 getNumericValue(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要转换的字符。 |
返回:
字符的数值,作为非负 int 值; -2 如果字符的数值不是非负整数; -1 如果字符没有数值。
getNumericValue
public static int getNumericValue(int codePoint)
返回指定字符(Unicode 代码点)表示的 int 值。 例如,字符 ‘\u216C’(罗马数字 50)将返回一个值为 50 的 int。
大写字母 A-Z(’\u0041′ 到 ‘\u005A’)、小写字母(’\u0061’ 到 ‘\u007A’)和全角变体(’\uFF21’ 到 ‘\uFF3A’ 和 ‘\uFF41’ 通过 ‘\uFF5A’) 形式具有从 10 到 35 的数值。这与 Unicode 规范无关,Unicode 规范不为这些 char 值分配数值。
如果字符没有数值,则返回 -1。 如果字符具有不能表示为非负整数的数值(例如,小数值),则返回 -2。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要转换的字符(Unicode 代码点)。 |
返回:
字符的数值,作为非负 int 值; -2 如果字符的数值不是非负整数; -1 如果字符没有数值。
isSpace
@Deprecated public static boolean isSpace(char ch)
已弃用。 替换为 isWhitespace(char)。
确定指定字符是否为 ISO-LATIN-1 空格。 此方法仅对以下五个字符返回 true:
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是 ISO-LATIN-1 空格,则为 true; 否则为假。
isSpaceChar
public static boolean isSpaceChar(char ch)
确定指定字符是否为 Unicode 空格字符。 当且仅当 Unicode 标准将字符指定为空格字符时,该字符才被视为空格字符。 如果角色的一般类别类型是以下任何一种,则此方法返回 true:
- SPACE_SEPARATOR
- LINE_SEPARATOR
- PARAGRAPH_SEPARATOR
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isSpaceChar(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是空格字符,则为真; 否则为假。
isSpaceChar
public static boolean isSpaceChar(int codePoint)
确定指定字符(Unicode 代码点)是否为 Unicode 空格字符。 当且仅当 Unicode 标准将字符指定为空格字符时,该字符才被视为空格字符。 如果角色的一般类别类型是以下任何一种,则此方法返回 true:
- SPACE_SEPARATOR
- LINE_SEPARATOR
- PARAGRAPH_SEPARATOR
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是空格字符,则为真; 否则为假。
isWhitespace
public static boolean isWhitespace(char ch)
根据 Java 确定指定字符是否为空格。 一个字符是一个 Java 空白字符当且仅当它满足以下条件之一:
- 它是 Unicode 空格字符(SPACE_SEPARATOR、LINE_SEPARATOR 或 PARAGRAPH_SEPARATOR),但也不是不间断空格(’\u00A0’、’\u2007’、’\u202F’)。
- 它是’\t’,U+0009 水平制表。
- 它是’\n’,U+000A LINE FEED。
- 它是’\u000B’,U+000B 垂直制表。
- 它是’\f’,U+000C 换页。
- 它是’\r’,U+000D 回车。
- 它是’\u001C’,U+001C 文件分隔符。
- 它是 ‘\u001D’,U+001D 组分隔符。
- 它是 ‘\u001E’,U+001E 记录分隔符。
- 它是 ‘\u001F’,U+001F 单位分隔符。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isWhitespace(int) 方法。
参数:
Parameter Name | Parameter Description |
---|---|
ch | the character to be tested. |
返回:
如果字符是 Java 空白字符,则为 true; 否则为假。
isWhitespace
public static boolean isWhitespace(int codePoint)
根据 Java 确定指定字符(Unicode 代码点)是否为空格。 一个字符是一个 Java 空白字符当且仅当它满足以下条件之一:
- 它是 Unicode 空格字符(SPACE_SEPARATOR、LINE_SEPARATOR 或 PARAGRAPH_SEPARATOR),但也不是不间断空格(’\u00A0’、’\u2007’、’\u202F’)。
- 它是’\t’,U+0009 水平制表。
- 它是’\n’,U+000A LINE FEED。
- 它是’\u000B’,U+000B 垂直制表。
- 它是’\f’,U+000C 换页。
- 它是’\r’,U+000D 回车。
- 它是’\u001C’,U+001C 文件分隔符。
- 它是 ‘\u001D’,U+001D 组分隔符。
- 它是 ‘\u001E’,U+001E 记录分隔符。
- 它是 ‘\u001F’,U+001F 单位分隔符。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是 Java 空白字符,则为 true; 否则为假。
isISOControl
public static boolean isISOControl(char ch)
确定指定字符是否为 ISO 控制字符。 如果字符的代码在 ‘\u0000’ 到 ‘\u001F’ 范围内或在 ‘\u007F’ 到 ‘\u009F’ 范围内,则该字符被视为 ISO 控制字符。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isISOControl(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
如果字符是 ISO 控制字符,则为 true; 否则为假。
isISOControl
public static boolean isISOControl(int codePoint)
确定引用的字符(Unicode 代码点)是否为 ISO 控制字符。 如果字符的代码在 ‘\u0000’ 到 ‘\u001F’ 范围内或在 ‘\u007F’ 到 ‘\u009F’ 范围内,则该字符被视为 ISO 控制字符。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果字符是 ISO 控制字符,则为 true; 否则为假。
getType
public static int getType(char ch)
返回一个值,指示字符的一般类别。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 getType(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要测试的字符。 |
返回:
一个 int 类型的值,表示字符的一般类别。
getType
public static int getType(int codePoint)
返回一个值,指示字符的一般类别。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
一个 int 类型的值,表示字符的一般类别。
forDigit
public static char forDigit(int digit, int radix)
确定指定基数中特定数字的字符表示。 如果 radix 的值不是有效的基数,或者 digit 的值不是指定基数中的有效数字,则返回空字符 (‘\u0000’)。
radix 参数在大于或等于 MIN_RADIX 且小于或等于 MAX_RADIX 时有效。 如果 0 <= digit < radix,则 digit 参数有效。
如果数字小于 10,则返回 ‘0’ + 数字。 否则,返回值 ‘a’ + digit – 10。
参数:
参数名称 | 参数描述 |
---|---|
digit | 要转换为字符的数字。 |
radix | 基数。 |
返回:
指定基数中指定数字的 char 表示形式。
getDirectionality
public static byte getDirectionality(char ch)
返回给定字符的 Unicode 方向性属性。 字符方向性用于计算文本的视觉顺序。 未定义字符值的方向性值为 DIRECTIONALITY_UNDEFINED。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 getDirectionality(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 为其请求方向性属性的字符。 |
返回:
char 值的方向性属性。
getDirectionality
public static byte getDirectionality(int codePoint)
返回给定字符(Unicode 代码点)的 Unicode 方向性属性。 字符方向性用于计算文本的视觉顺序。 未定义字符的方向性值为 DIRECTIONALITY_UNDEFINED。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 为其请求方向性属性的字符(Unicode 代码点)。 |
返回:
角色的方向属性。
isMirrored
public static boolean isMirrored(char ch)
确定字符是否根据 Unicode 规范进行镜像。 在从右到左的文本中显示时,镜像字符应使其字形水平镜像。 例如,’\u0028′ 左括号在语义上被定义为左括号。 这将在从左到右的文本中显示为“(”,但在从右到左的文本中显示为“)”。
注意:此方法不能处理补充字符。 要支持所有 Unicode 字符,包括补充字符,请使用 isMirrored(int) 方法。
参数:
参数名称 | 参数描述 |
---|---|
ch | 为其请求镜像属性的 char |
返回:
如果 char 被镜像,则为 true;如果 char 未镜像或未定义,则为 false。
isMirrored
public static boolean isMirrored(int codePoint)
确定是否根据 Unicode 规范镜像指定的字符(Unicode 代码点)。 在从右到左的文本中显示时,镜像字符应使其字形水平镜像。 例如,’\u0028′ 左括号在语义上被定义为左括号。 这将在从左到右的文本中显示为“(”,但在从右到左的文本中显示为“)”。
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 要测试的字符(Unicode 代码点)。 |
返回:
如果角色被镜像,则为 true;如果角色未镜像或未定义,则为 false。
compareTo
public int compareTo(Character anotherCharacter)
以数字方式比较两个 Character 对象。
指定者:
接口 ComparableCharacter 中的 compareTo
参数:
参数名称 | 参数描述 |
---|---|
anotherCharacter | 要比较的字符。 |
回报:
如果参数 Character 等于此 Character,则值为 0; 如果此 Character 在数值上小于 Character 参数,则值小于 0; 如果此 Character 在数值上大于 Character 参数(无符号比较),则值大于 0。 请注意,这是严格的数字比较; 它不依赖于语言环境。
compare
public static int compare(char x, char y)
以数字方式比较两个 char 值。 返回的值与通过以下方式返回的值相同:
Character.valueOf(x).compareTo(Character.valueOf(y))
参数:
参数名称 | 参数描述 |
---|---|
x | 要比较的第一个字符 |
y | 要比较的第二个字符 |
返回:
如果 x == y,则值为 0; 如果 x < y,则值小于 0; 如果 x > y,则值大于 0
reverseBytes
public static char reverseBytes(char ch)
返回通过反转指定 char 值中的字节顺序获得的值。
参数:
参数名称 | 参数描述 |
---|---|
ch | 要反转字节顺序的字符。 |
返回:
通过反转(或等效地,交换)指定 char 值中的字节获得的值。
getName
public static String getName(int codePoint)
返回指定字符代码点的 Unicode 名称,如果代码点未分配,则返回 null。
注意:如果指定的字符没有被 UnicodeData 文件(Unicode Consortium 维护的 Unicode Character Database 的一部分)指定名称,则返回的名称与表达式的结果相同。
Character.UnicodeBlock.of(codePoint).toString().replace(‘_’, ”) + ” ” + Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
参数:
参数名称 | 参数描述 |
---|---|
codePoint | 字符(Unicode 代码点) |
返回:
指定字符的 Unicode 名称,如果未分配代码点,则为 null。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果指定的 codePoint 不是有效的 Unicode 代码点。 |