鸿蒙OS开发文档 鸿蒙OS Character

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 2

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 classCharacter.Subset此类的实例表示 Unicode 字符集的特定子集。
static classCharacter.UnicodeBlock表示 Unicode 规范中字符块的字符子集系列。
static classCharacter.UnicodeScript表示 Unicode 标准附件 #24:脚本名称中定义的字符脚本的字符子集系列。

字段摘要

修饰符和类型字段描述
static intBYTES用于以无符号二进制形式表示 char 值的字节数。
static byteCOMBINING_SPACING_MARKUnicode 规范中的通用类别“Mc”。
static byteCONNECTOR_PUNCTUATIONUnicode 规范中的通用类别“Pc”。
static byteCONTROLUnicode 规范中的通用类别“Cc”。
static byteCURRENCY_SYMBOLUnicode 规范中的通用类别“Sc”。
static byteDASH_PUNCTUATIONUnicode 规范中的通用类别“Pd”。
static byteDECIMAL_DIGIT_NUMBERUnicode 规范中的通用类别“Nd”。
static byteDIRECTIONALITY_ARABIC_NUMBERUnicode 规范中的弱双向字符类型“AN”。
static byteDIRECTIONALITY_BOUNDARY_NEUTRALUnicode 规范中的弱双向字符类型“BN”。
static byteDIRECTIONALITY_COMMON_NUMBER_SEPARATORUnicode 规范中的弱双向字符类型“CS”。
static byteDIRECTIONALITY_EUROPEAN_NUMBERUnicode 规范中的弱双向字符类型“EN”。
static byteDIRECTIONALITY_EUROPEAN_NUMBER_SEPARATORUnicode 规范中的弱双向字符类型“ES”。
static byteDIRECTIONALITY_EUROPEAN_NUMBER_TERMINATORUnicode 规范中的弱双向字符类型“ET”。
static byteDIRECTIONALITY_LEFT_TO_RIGHTUnicode 规范中的强双向字符类型“L”。
static byteDIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDINGUnicode 规范中的强双向字符类型“LRE”。
static byteDIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDEUnicode 规范中的强双向字符类型“LRO”。
static byteDIRECTIONALITY_NONSPACING_MARKUnicode 规范中的弱双向字符类型“NSM”。
static byteDIRECTIONALITY_OTHER_NEUTRALSUnicode 规范中的中性双向字符类型“ON”。
static byteDIRECTIONALITY_PARAGRAPH_SEPARATORUnicode 规范中的中性双向字符类型“B”。
static byteDIRECTIONALITY_POP_DIRECTIONAL_FORMATUnicode 规范中的弱双向字符类型“PDF”。
static byteDIRECTIONALITY_RIGHT_TO_LEFTUnicode 规范中的强双向字符类型“R”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT_ARABICUnicode 规范中的强双向字符类型“AL”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDINGUnicode 规范中的强双向字符类型“RLE”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDEUnicode 规范中的强双向字符类型“RLO”。
static byteDIRECTIONALITY_SEGMENT_SEPARATORUnicode 规范中的中性双向字符类型“S”。
static byteDIRECTIONALITY_UNDEFINED未定义的双向字符类型。
static byteDIRECTIONALITY_WHITESPACEUnicode 规范中的中性双向字符类型“WS”。
static byteENCLOSING_MARKUnicode 规范中的通用类别“Me”。
static byteEND_PUNCTUATIONUnicode 规范中的通用类别“Pe”。
static byteFINAL_QUOTE_PUNCTUATIONUnicode 规范中的通用类别“Pf”。
static byteFORMATUnicode 规范中的通用类别“Cf”。
static byteINITIAL_QUOTE_PUNCTUATIONUnicode 规范中的通用类别“Pi”。
static byteLETTER_NUMBERUnicode 规范中的通用类别“Nl”。
static byteLINE_SEPARATORUnicode 规范中的通用类别“Zl”。
static byteLOWERCASE_LETTERUnicode 规范中的通用类别“Ll”。
static byteMATH_SYMBOLUnicode 规范中的通用类别“Sm”。
static intMAX_CODE_POINTUnicode 码位的最大值,常量 U+10FFFF。
static charMAX_HIGH_SURROGATEUTF-16 编码中 Unicode 高代理代码单元的最大值,常量 '\uDBFF'。
static charMAX_LOW_SURROGATEUTF-16 编码中 Unicode 低代理代码单元的最大值,常量 '\uDFFF'。
static intMAX_RADIX可用于与字符串相互转换的最大基数。
static charMAX_SURROGATEUTF-16 编码中 Unicode 代理代码单元的最大值,常量 '\uDFFF'。
static charMAX_VALUE该字段的常量值是 char 类型的最大值,'\uFFFF'。
static intMIN_CODE_POINTUnicode 代码点的最小值,常量 U+0000。
static charMIN_HIGH_SURROGATEUTF-16 编码中 Unicode 高代理代码单元的最小值,常量 '\uD800'。
static charMIN_LOW_SURROGATEUTF-16 编码中 Unicode 低代理代码单元的最小值,常量 '\uDC00'。
static intMIN_RADIX可用于与字符串相互转换的最小基数。
static intMIN_SUPPLEMENTARY_CODE_POINTUnicode 补充码点的最小值,常数 U+10000。
static charMIN_SURROGATEUTF-16 编码中 Unicode 代理代码单元的最小值,常量 '\uD800'。
static charMIN_VALUE该字段的常数值是 char 类型的最小值,'\u0000'。
static byteMODIFIER_LETTERUnicode 规范中的通用类别“Lm”。
static byteMODIFIER_SYMBOLUnicode 规范中的通用类别“Sk”。
static byteNON_SPACING_MARKUnicode 规范中的通用类别“Mn”。
static byteOTHER_LETTERUnicode 规范中的通用类别“Lo”。
static byteOTHER_NUMBERUnicode 规范中的通用类别“No”。
static byteOTHER_PUNCTUATIONUnicode 规范中的通用类别“Po”。
static byteOTHER_SYMBOLUnicode 规范中的一般类别“So”。
static bytePARAGRAPH_SEPARATORUnicode 规范中的通用类别“Zp”。
static bytePRIVATE_USEUnicode 规范中的通用类别“Co”。
static intSIZE用于以无符号二进制形式表示 char 值的位数,常量 16。
static byteSPACE_SEPARATORUnicode 规范中的通用类别“Zs”。
static byteSTART_PUNCTUATIONUnicode 规范中的通用类别“Ps”。
static byteSURROGATEUnicode 规范中的通用类别“Cs”。
static byteTITLECASE_LETTERUnicode 规范中的通用类别“Lt”。
static ClassCharacterTYPE表示基本类型 char 的 Class 实例。
static byteUNASSIGNEDUnicode 规范中的通用类别“Cn”。
static byteUPPERCASE_LETTERUnicode 规范中的通用类别“Lu”。

构造函数摘要

构造函数描述
Character(char value)构造一个新分配的 Character 对象,该对象表示指定的 char 值。

方法总结

修饰符和类型方法描述
static intcharCount(int codePoint)确定表示指定字符(Unicode 代码点)所需的 char 值的数量。
charcharValue()返回此 Character 对象的值。
static intcodePointAt(char[] a, int index)返回 char 数组给定索引处的代码点。
static intcodePointAt(char[] a, int index, int limit)返回 char 数组给定索引处的代码点,其中只能使用索引小于限制的数组元素。
static intcodePointAt(CharSequence seq, int index)返回 CharSequence 的给定索引处的代码点。
static intcodePointBefore(char[] a, int index)返回 char 数组的给定索引之前的代码点。
static intcodePointBefore(char[] a, int index, int start)返回 char 数组的给定索引之前的代码点,其中只能使用索引大于或等于 start 的数组元素。
static intcodePointBefore(CharSequence seq, int index)返回 CharSequence 的给定索引之前的代码点。
static intcodePointCount(char[] a, int offset, int count)返回 char 数组参数的子数组中的 Unicode 代码点数。
static intcodePointCount(CharSequence seq, int beginIndex, int endIndex)返回指定字符序列的文本范围内的 Unicode 代码点数。
static intcompare(char x, char y)以数字方式比较两个 char 值。
intcompareTo(Character anotherCharacter)以数字方式比较两个 Character 对象。
static intdigit(char ch, int radix)返回指定基数中字符 ch 的数值。
static intdigit(int codePoint, int radix)返回指定基数中指定字符(Unicode 代码点)的数值。
booleanequals(Object obj)将此对象与指定对象进行比较。
static charforDigit(int digit, int radix)确定指定基数中特定数字的字符表示。
static bytegetDirectionality(char ch)返回给定字符的 Unicode 方向性属性。
static bytegetDirectionality(int codePoint)返回给定字符(Unicode 代码点)的 Unicode 方向性属性。
static StringgetName(int codePoint)返回指定字符代码点的 Unicode 名称,如果代码点未分配,则返回 null。
static intgetNumericValue(char ch)返回指定 Unicode 字符表示的 int 值。
static intgetNumericValue(int codePoint)返回指定字符(Unicode 代码点)表示的 int 值。
static intgetType(char ch)返回一个值,指示字符的一般类别。
static intgetType(int codePoint)返回一个值,指示字符的一般类别。
inthashCode()返回此字符的哈希码; 等于调用 charValue() 的结果。
static inthashCode(char value)返回 char 值的哈希码; 与 Character.hashCode() 兼容。
static charhighSurrogate(int codePoint)返回以 UTF-16 编码表示指定补充字符(Unicode 代码点)的代理项对的前导代理项(高代理项代码单元)。
static booleanisAlphabetic(int codePoint)确定指定字符(Unicode 代码点)是否为字母表。
static booleanisBmpCodePoint(int codePoint)确定指定字符(Unicode 代码点)是否在基本多语言平面 (BMP) 中。
static booleanisDefined(char ch)确定字符是否以 Unicode 定义。
static booleanisDefined(int codePoint)确定字符(Unicode 代码点)是否以 Unicode 定义。
static booleanisDigit(char ch)确定指定的字符是否为数字。
static booleanisDigit(int codePoint)确定指定的字符(Unicode 代码点)是否为数字。
static booleanisHighSurrogate(char ch)确定给定的 char 值是否是 Unicode 高代理代码单元(也称为前导代理代码单元)。
static booleanisIdentifierIgnorable(char ch)确定是否应将指定字符视为 Java 标识符或 Unicode 标识符中的可忽略字符。
static booleanisIdentifierIgnorable(int codePoint)确定是否应将指定字符(Unicode 代码点)视为 Java 标识符或 Unicode 标识符中的可忽略字符。
static booleanisIdeographic(int codePoint)确定指定字符(Unicode 代码点)是否为 Unicode 标准定义的 CJKV(中文、日文、韩文和越南文)表意文字。
static booleanisISOControl(char ch)确定指定字符是否为 ISO 控制字符。
static booleanisISOControl(int codePoint)确定引用的字符(Unicode 代码点)是否为 ISO 控制字符。
static booleanisJavaIdentifierPart(char ch)确定指定字符是否可以是 Java 标识符的一部分,而不是第一个字符。
static booleanisJavaIdentifierPart(int codePoint)确定字符(Unicode 代码点)是否可以是 Java 标识符的一部分,而不是第一个字符。
static booleanisJavaIdentifierStart(char ch)确定指定的字符是否允许作为 Java 标识符中的第一个字符。
static booleanisJavaIdentifierStart(int codePoint)确定字符(Unicode 代码点)是否允许作为 Java 标识符中的第一个字符。
static booleanisJavaLetter(char ch)已弃用。 替换为 isJavaIdentifierStart(char)。
static booleanisJavaLetterOrDigit(char ch)已弃用。 替换为 isJavaIdentifierPart(char)。
static booleanisLetter(char ch)确定指定的字符是否为字母。
static booleanisLetter(int codePoint)确定指定字符(Unicode 代码点)是否为字母。
static booleanisLetterOrDigit(char ch)确定指定的字符是字母还是数字。
static booleanisLetterOrDigit(int codePoint)确定指定的字符(Unicode 代码点)是字母还是数字。
static booleanisLowerCase(char ch)确定指定字符是否为小写字符。
static booleanisLowerCase(int codePoint)确定指定字符(Unicode 代码点)是否为小写字符。
static booleanisLowSurrogate(char ch)确定给定的 char 值是否是 Unicode 低代理代码单元(也称为尾随代理代码单元)。
static booleanisMirrored(char ch)确定字符是否根据 Unicode 规范进行镜像。
static booleanisMirrored(int codePoint)确定是否根据 Unicode 规范镜像指定的字符(Unicode 代码点)。
static booleanisSpace(char ch)已弃用。 替换为 isWhitespace(char)。
static booleanisSpaceChar(char ch)确定指定字符是否为 Unicode 空格字符。
static booleanisSpaceChar(int codePoint)确定指定字符(Unicode 代码点)是否为 Unicode 空格字符。
static booleanisSupplementaryCodePoint(int codePoint)确定指定字符(Unicode 代码点)是否在补充字符范围内。
static booleanisSurrogate(char ch)确定给定的 char 值是否是 Unicode 代理代码单元。
static booleanisSurrogatePair(char high, char low)确定指定的 char 值对是否为有效的 Unicode 代理项对。
static booleanisTitleCase(char ch)确定指定的字符是否为标题字符。
static booleanisTitleCase(int codePoint)确定指定字符(Unicode 代码点)是否为标题字符。
static booleanisUnicodeIdentifierPart(char ch)确定指定字符是否可以是 Unicode 标识符的一部分,而不是第一个字符。
static booleanisUnicodeIdentifierPart(int codePoint)确定指定字符(Unicode 代码点)是否可以是 Unicode 标识符的一部分,而不是第一个字符。
static booleanisUnicodeIdentifierStart(char ch)确定指定字符是否允许作为 Unicode 标识符中的第一个字符。
static booleanisUnicodeIdentifierStart(int codePoint)确定指定的字符(Unicode 代码点)是否允许作为 Unicode 标识符中的第一个字符。
static booleanisUpperCase(char ch)确定指定字符是否为大写字符。
static booleanisUpperCase(int codePoint)确定指定字符(Unicode 代码点)是否为大写字符。
static booleanisValidCodePoint(int codePoint)确定指定的代码点是否是有效的 Unicode 代码点值。
static booleanisWhitespace(char ch)根据 Java 确定指定字符是否为空格。
static booleanisWhitespace(int codePoint)根据 Java 确定指定字符(Unicode 代码点)是否为空格。
static charlowSurrogate(int codePoint)返回以 UTF-16 编码表示指定补充字符(Unicode 代码点)的代理项对的尾随代理项(低代理项代码单元)。
static intoffsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)返回给定 char 子数组中从给定索引偏移 codePointOffset 代码点的索引。
static intoffsetByCodePoints(CharSequence seq, int index, int codePointOffset)返回给定 char 序列中的索引,该索引与给定索引偏移 codePointOffset 代码点。
static charreverseBytes(char ch)返回通过反转指定 char 值中的字节顺序获得的值。
static char[]toChars(int codePoint)将指定字符(Unicode 代码点)转换为存储在 char 数组中的 UTF-16 表示形式。
static inttoChars(int codePoint, char[] dst, int dstIndex)将指定的字符(Unicode 代码点)转换为其 UTF-16 表示。
static inttoCodePoint(char high, char low)将指定的代理对转换为其补充代码点值。
static chartoLowerCase(char ch)使用 UnicodeData 文件中的大小写映射信息将字符参数转换为小写。
static inttoLowerCase(int codePoint)使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为小写。
StringtoString()返回一个表示此 Character 值的 String 对象。
static StringtoString(char c)返回表示指定字符的 String 对象。
static chartoTitleCase(char ch)使用 UnicodeData 文件中的大小写映射信息将字符参数转换为标题大小写。
static inttoTitleCase(int codePoint)使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为标题大小写。
static chartoUpperCase(char ch)使用 UnicodeData 文件中的大小写映射信息将字符参数转换为大写。
static inttoUpperCase(int codePoint)使用 UnicodeData 文件中的大小写映射信息将字符(Unicode 代码点)参数转换为大写。
static CharactervalueOf(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 值。

参数:

参数名称参数描述
seqCharSequence 实例
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应返回的代码点之后的索引
startchar 数组中第一个数组元素的索引

返回:

给定索引之前的 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 NameParameter Description
codePointthe 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 NameParameter Description
chthe 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 代码点。