创新互联鸿蒙OS教程:鸿蒙OSCharacter

Character

java.lang.Object

|---java.lang.Character

public final class Character
extends Object
implements Serializable, Comparable

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 创新互联鸿蒙OS教程:鸿蒙OSCharacter
文章URL:http://www.36103.cn/qtweb/news46/15146.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联