Module java.base
Package java.lang

Class Character

java.lang.Object
java.lang.Character
所有已实现的接口:
Serializable, Comparable<Character>, Constable

public final class Character extends Object implements Serializable, Comparable<Character>, Constable
Character类将原始类型char的值封装在对象中。Character类的对象包含一个类型为char的字段。

此外,该类提供了大量静态方法,用于确定字符的类别(小写字母、数字等),以及将字符从大写转换为小写,反之亦然。

Unicode一致性

Character类的字段和方法是根据Unicode标准中的字符信息定义的,具体来说是Unicode字符数据库的一部分的UnicodeData文件。该文件为每个已分配的Unicode代码点或字符范围指定名称和类别等属性。该文件可从Unicode联盟的http://www.unicode.org获取。

字符信息基于Unicode标准第15.0版。

Java平台随时间支持了不同版本的Unicode标准。在以下Java版本中升级到新版本的Unicode标准,每个版本都指示了新版本:

显示Java版本和支持的Unicode版本
Java版本 Unicode版本
Java SE 20 Unicode 15.0
Java SE 19 Unicode 14.0
Java SE 15 Unicode 13.0
Java SE 13 Unicode 12.1
Java SE 12 Unicode 11.0
Java SE 11 Unicode 10.0
Java SE 9 Unicode 8.0
Java SE 8 Unicode 6.2
Java SE 7 Unicode 6.0
Java SE 5.0 Unicode 4.0
Java SE 1.4 Unicode 3.0
JDK 1.1 Unicode 2.0
JDK 1.0.2 Unicode 1.1.5
其他基本Unicode版本的变化,如已识别的附录,已在其他地方记录。

Unicode字符表示

char数据类型(因此Character对象封装的值)基于最初的Unicode规范,该规范将字符定义为固定宽度的16位实体。现在,Unicode标准已更改,以允许需要超过16位表示的字符。合法代码点范围现在是U+0000到U+10FFFF,称为Unicode标量值。(请参阅Unicode标准中U+n表示法的定义。)

从U+0000到U+FFFF的字符集有时被称为基本多语言平面(BMP)。代码点大于U+FFFF的字符称为补充字符。Java平台在char数组以及StringStringBuffer类中使用UTF-16表示。在此表示中,补充字符表示为一对char值,第一个值来自高代理项范围(\uD800-\uDBFF),第二个值来自低代理项范围(\uDC00-\uDFFF)。

因此,char值表示基本多语言平面(BMP)代码点,包括代理项代码点,或UTF-16编码的代码单元。一个int值表示所有Unicode代码点,包括补充代码点。int的低(最低有效)21位用于表示Unicode代码点,高(最高有效)11位必须为零。除非另有说明,否则关于补充字符和代理char值的行为如下:

  • 只接受char值的方法不支持补充字符。它们将代理范围内的char值视为未定义字符。例如,Character.isLetter('\uD840')返回false,即使此特定值后跟字符串中的任何低代理值将表示一个字母。
  • 接受int值的方法支持所有Unicode字符,包括补充字符。例如,Character.isLetter(0x2F81A)返回true,因为代码点值表示一个字母(一个CJK表意文字)。

在Java SE API文档中,Unicode代码点用于介于U+0000和U+10FFFF之间的字符值,Unicode代码单元用于UTF-16编码的16位char值的代码单元。有关Unicode术语的更多信息,请参阅Unicode术语表

这是一个基于值的类;程序员应将相等的实例视为可互换,并且不应将实例用于同步,否则可能会发生不可预测的行为。例如,在将来的版本中,同步可能会失败。

自:
1.0
外部规范
参见:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    该类的实例表示Unicode字符集的特定子集。
    static final class 
    代表Unicode规范中字符块的字符子集系列。
    static enum 
    代表Unicode标准附录中定义的字符脚本的字符子集系列。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    以无符号二进制形式表示char值所需的字节数。
    static final byte
    Unicode规范中的一般类别"Mc"。
    static final byte
    Unicode规范中的一般类别"Pc"。
    static final byte
    Unicode规范中的一般类别"Cc"。
    static final byte
    Unicode规范中的一般类别"Sc"。
    static final byte
    Unicode规范中的一般类别"Pd"。
    static final byte
    Unicode规范中的一般类别"Nd"。
    static final byte
    Unicode规范中的弱双向字符类型"AN"。
    static final byte
    Unicode规范中的弱双向字符类型"BN"。
    static final byte
    Unicode规范中的弱双向字符类型"CS"。
    static final byte
    Unicode规范中的弱双向字符类型"EN"。
    static final byte
    Unicode规范中的弱双向字符类型"ES"。
    static final byte
    Unicode规范中的弱双向字符类型"ET"。
    static final byte
    Unicode规范中的弱双向字符类型"FSI"。
    static final byte
    Unicode规范中的强双向字符类型"L"。
    static final byte
    Unicode规范中的强双向字符类型"LRE"。
    static final byte
    Unicode规范中的弱双向字符类型"LRI"。
    static final byte
    Unicode规范中的强双向字符类型"LRO"。
    static final byte
    Unicode规范中的弱双向字符类型"NSM"。
    static final byte
    Unicode规范中的中性双向字符类型"ON"。
    static final byte
    Unicode规范中的中性双向字符类型"B"。
    static final byte
    Unicode规范中的弱双向字符类型"PDF"。
    static final byte
    Unicode规范中的弱双向字符类型"PDI"。
    static final byte
    Unicode规范中的强双向字符类型"R"。
    static final byte
    Unicode规范中的强双向字符类型"AL"。
    static final byte
    Unicode规范中的强双向字符类型"RLE"。
    static final byte
    Unicode规范中的弱双向字符类型"RLI"。
    static final byte
    Unicode规范中的强双向字符类型"RLO"。
    static final byte
    Unicode规范中的中性双向字符类型"S"。
    static final byte
    未定义的双向字符类型。
    static final byte
    Unicode规范中的中性双向字符类型"WS"。
    static final byte
    Unicode规范中的一般类别"Me"。
    static final byte
    Unicode规范中的一般类别"Pe"。
    static final byte
    Unicode规范中的一般类别"Pf"。
    static final byte
    Unicode规范中的一般类别"Cf"。
    static final byte
    Unicode规范中的一般类别"Pi"。
    static final byte
    Unicode规范中的一般类别"Nl"。
    static final byte
    Unicode规范中的一般类别"Zl"。
    static final byte
    Unicode规范中的一般类别"Ll"。
    static final byte
    Unicode规范中的一般类别"Sm"。
    static final int
    Unicode代码点的最大值,常量U+10FFFF
    static final char
    UTF-16编码中Unicode高代理项的最大值,常量'\uDBFF'
    static final char
    UTF-16编码中Unicode低代理项的最大值,常量'\uDFFF'
    static final int
    可用于字符串转换的最大基数。
    static final char
    UTF-16编码中Unicode代理代码单元的最大值,常量'\uDFFF'
    static final char
    该字段的常量值是char类型的最大值,'\uFFFF'
    static final int
    Unicode代码点的最小值,常量U+0000
    static final char
    UTF-16编码中Unicode高代理代码单元的最小值,常量'\uD800'
    static final char
    UTF-16编码中Unicode低代理代码单元的最小值,常量'\uDC00'
    static final int
    可用于字符串转换的最小基数。
    static final int
    Unicode补充代码点的最小值,常量U+10000
    static final char
    UTF-16编码中Unicode代理代码单元的最小值,常量'\uD800'
    static final char
    该字段的常量值是char类型的最小值,'\u0000'
    static final byte
    Unicode规范中的一般类别“Lm”。
    static final byte
    Unicode规范中的一般类别“Sk”。
    static final byte
    Unicode规范中的一般类别“Mn”。
    static final byte
    Unicode规范中的一般类别“Lo”。
    static final byte
    Unicode规范中的一般类别“No”。
    static final byte
    Unicode规范中的一般类别“Po”。
    static final byte
    Unicode规范中的一般类别“So”。
    static final byte
    Unicode规范中的一般类别“Zp”。
    static final byte
    Unicode规范中的一般类别“Co”。
    static final int
    以无符号二进制形式表示char值所使用的位数,常量16
    static final byte
    Unicode规范中的一般类别“Zs”。
    static final byte
    Unicode规范中的一般类别“Ps”。
    static final byte
    Unicode规范中的一般类别“Cs”。
    static final byte
    Unicode规范中的一般类别“Lt”。
    static final Class<Character>
    表示原始类型charClass实例。
    static final byte
    Unicode规范中的一般类别“Cn”。
    static final byte
    Unicode规范中的一般类别“Lu”。
  • Constructor Summary

    Constructors
    Constructor
    Description
    Character(char value)
    已弃用,将来会移除:此API元素可能在将来的版本中被移除。
    很少适合使用此构造函数。
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    charCount(int codePoint)
    确定表示指定字符(Unicode代码点)所需的char值的数量。
    char
    返回此Character对象的值。
    static int
    codePointAt(char[] a, int index)
    返回char数组中给定索引处的代码点。
    static int
    codePointAt(char[] a, int index, int limit)
    返回char数组中给定索引处的代码点,其中只能使用小于limit的索引的数组元素。
    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
    返回由给定字符名称指定的Unicode字符的代码点值。
    static int
    compare(char x, char y)
    数值上比较两个char值。
    int
    compareTo(Character anotherCharacter)
    数值上比较两个Character对象。
    返回包含此实例的名义描述符的Optional
    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)
    返回指定字符codePoint的名称,如果代码点为unassigned,则返回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
    返回此Character的哈希码;等同于调用charValue()的结果。
    static int
    hashCode(char value)
    返回char值的哈希码;与Character.hashCode()兼容。
    static char
    highSurrogate(int codePoint)
    返回UTF-16编码中表示指定补充字符(Unicode代码点)的surrogate pairleading surrogate(高代理代码单元)。
    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
    isEmoji(int codePoint)
    确定指定字符(Unicode代码点)是否为表情符号。
    static boolean
    isEmojiComponent(int codePoint)
    确定指定字符(Unicode代码点)是否为表情符号组件。
    static boolean
    isEmojiModifier(int codePoint)
    确定指定字符(Unicode代码点)是否为表情符号修饰符。
    static boolean
    isEmojiModifierBase(int codePoint)
    确定指定字符(Unicode代码点)是否为表情符号修饰符基础。
    static boolean
    isEmojiPresentation(int codePoint)
    确定指定字符(Unicode代码点)是否具有默认的表情符号呈现属性。
    static boolean
    isExtendedPictographic(int codePoint)
    确定指定字符(Unicode代码点)是否为扩展象形文字。
    static boolean
    isHighSurrogate(char ch)
    确定给定char值是否为Unicode高代理代码单元(也称为前导代理代码单元)。
    static boolean
    确定指定字符是否应被视为Java标识符或Unicode标识符中的可忽略字符。
    static boolean
    isIdentifierIgnorable(int codePoint)
    确定指定字符(Unicode代码点)是否应被视为Java标识符或Unicode标识符中的可忽略字符。
    static boolean
    isIdeographic(int codePoint)
    确定指定字符(Unicode代码点)是否为CJKV(中文、日文、韩文和越南文)表意文字,如Unicode标准所定义。
    static boolean
    isISOControl(char ch)
    确定指定字符是否为ISO控制字符。
    static boolean
    isISOControl(int codePoint)
    确定引用的字符(Unicode代码点)是否为ISO控制字符。
    static boolean
    确定指定字符是否可以作为Java标识符中除第一个字符外的部分。
    static boolean
    isJavaIdentifierPart(int codePoint)
    确定字符(Unicode代码点)是否可以作为Java标识符中除第一个字符外的部分。
    static boolean
    确定指定字符是否可以作为Java标识符中的第一个字符。
    static boolean
    isJavaIdentifierStart(int codePoint)
    确定字符(Unicode代码点)是否可以作为Java标识符中的第一个字符。
    static boolean
    isJavaLetter(char ch)
    已弃用。
    已被isJavaIdentifierStart(char)取代。
    static boolean
    已弃用。
    已被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
    确定指定的字符是否可以作为Unicode标识符的一部分,而不是第一个字符。
    static boolean
    isUnicodeIdentifierPart(int codePoint)
    确定指定的字符(Unicode代码点)是否可以作为Unicode标识符的一部分,而不是第一个字符。
    static boolean
    确定指定的字符是否可以作为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)
    确定指定的字符(Unicode代码点)是否根据Java定义为空格字符。
    static char
    lowSurrogate(int codePoint)
    返回UTF-16编码中表示指定补充字符(Unicode代码点)的代理对的尾部代理(低代理代码单元)。
    static int
    offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)
    返回给定char子数组中从给定index偏移codePointOffset代码点的索引。
    static int
    offsetByCodePoints(CharSequence seq, int index, int codePointOffset)
    返回给定char序列中从给定index偏移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代码点)参数转换为小写。
    返回表示此Character值的String对象。
    static String
    toString(char c)
    返回表示指定charString对象。
    static String
    toString(int codePoint)
    返回表示指定字符(Unicode代码点)的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实例。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • MIN_RADIX

      public static final int MIN_RADIX
      用于字符串转换的最小基数。此字段的常量值是在类Integerdigit方法、forDigit方法和toString方法等基数转换方法中允许的最小值。
      参见:
    • MAX_RADIX

      public static final int MAX_RADIX
      用于字符串转换的最大基数。此字段的常量值是在类Integerdigit方法、forDigit方法和toString方法等基数转换方法中允许的最大值。
      参见:
    • MIN_VALUE

      public static final char MIN_VALUE
      此字段的常量值是char类型的最小值,'\u0000'
      自:
      1.0.2
      参见:
    • MAX_VALUE

      public static final char MAX_VALUE
      此字段的常量值是char类型的最大值,'\uFFFF'
      自:
      1.0.2
      参见:
    • TYPE

      public static final Class<Character> TYPE
      表示原始类型charClass实例。
      自:
      1.1
    • UNASSIGNED

      public static final byte UNASSIGNED
      Unicode规范中的一般类别“Cn”。
      自:
      1.1
      参见:
    • UPPERCASE_LETTER

      public static final byte UPPERCASE_LETTER
      Unicode规范中的一般类别“Lu”。
      自:
      1.1
      参见:
    • LOWERCASE_LETTER

      public static final byte LOWERCASE_LETTER
      Unicode规范中的一般类别“Ll”。
      自:
      1.1
      参见:
    • TITLECASE_LETTER

      public static final byte TITLECASE_LETTER
      Unicode规范中的一般类别“Lt”。
      自:
      1.1
      参见:
    • MODIFIER_LETTER

      public static final byte MODIFIER_LETTER
      Unicode规范中的一般类别“Lm”。
      自:
      1.1
      参见:
    • OTHER_LETTER

      public static final byte OTHER_LETTER
      Unicode规范中的一般类别“Lo”。
      自:
      1.1
      参见:
    • NON_SPACING_MARK

      public static final byte NON_SPACING_MARK
      Unicode规范中的一般类别“Mn”。
      自:
      1.1
      参见:
    • ENCLOSING_MARK

      public static final byte ENCLOSING_MARK
      Unicode规范中的一般类别“Me”。
      自:
      1.1
      参见:
    • COMBINING_SPACING_MARK

      public static final byte COMBINING_SPACING_MARK
      Unicode规范中的一般类别“Mc”。
      自:
      1.1
      参见:
    • DECIMAL_DIGIT_NUMBER

      public static final byte DECIMAL_DIGIT_NUMBER
      Unicode规范中的一般类别“Nd”。
      自:
      1.1
      参见:
    • LETTER_NUMBER

      public static final byte LETTER_NUMBER
      Unicode规范中的一般类别“Nl”。
      自:
      1.1
      参见:
    • OTHER_NUMBER

      public static final byte OTHER_NUMBER
      Unicode规范中的一般类别“No”。
      自:
      1.1
      参见:
    • SPACE_SEPARATOR

      public static final byte SPACE_SEPARATOR
      Unicode规范中的一般类别“Zs”。
      自:
      1.1
      参见:
    • LINE_SEPARATOR

      public static final byte LINE_SEPARATOR
      Unicode规范中的一般类别“Zl”。
      自:
      1.1
      参见:
    • PARAGRAPH_SEPARATOR

      public static final byte PARAGRAPH_SEPARATOR
      Unicode规范中的一般类别“Zp”。
      自:
      1.1
      参见:
    • CONTROL

      public static final byte CONTROL
      Unicode规范中的一般类别“Cc”。
      自:
      1.1
      参见:
    • FORMAT

      public static final byte FORMAT
      Unicode规范中的一般类别“Cf”。
      自:
      1.1
      参见:
    • PRIVATE_USE

      public static final byte PRIVATE_USE
      Unicode规范中的一般类别“Co”。
      自:
      1.1
      参见:
    • SURROGATE

      public static final byte SURROGATE
      Unicode规范中的一般类别“Cs”。
      自:
      1.1
      参见:
    • DASH_PUNCTUATION

      public static final byte DASH_PUNCTUATION
      Unicode规范中的一般类别“Pd”。
      自:
      1.1
      参见:
    • START_PUNCTUATION

      public static final byte START_PUNCTUATION
      Unicode规范中的一般类别“Ps”。
      自:
      1.1
      参见:
    • END_PUNCTUATION

      public static final byte END_PUNCTUATION
      Unicode规范中的一般类别“Pe”。
      自:
      1.1
      参见:
    • CONNECTOR_PUNCTUATION

      public static final byte CONNECTOR_PUNCTUATION
      Unicode规范中的一般类别“Pc”。
      自:
      1.1
      参见:
    • OTHER_PUNCTUATION

      public static final byte OTHER_PUNCTUATION
      Unicode规范中的一般类别“Po”。
      自:
      1.1
      参见:
    • MATH_SYMBOL

      public static final byte MATH_SYMBOL
      Unicode规范中的一般类别“Sm”。
      自:
      1.1
      参见:
    • CURRENCY_SYMBOL

      public static final byte CURRENCY_SYMBOL
      Unicode规范中的一般类别“Sc”。
      自:
      1.1
      参见:
    • MODIFIER_SYMBOL

      public static final byte MODIFIER_SYMBOL
      Unicode规范中的一般类别“Sk”。
      自:
      1.1
      参见:
    • OTHER_SYMBOL

      public static final byte OTHER_SYMBOL
      Unicode规范中的一般类别“So”。
      自:
      1.1
      参见:
    • INITIAL_QUOTE_PUNCTUATION

      public static final byte INITIAL_QUOTE_PUNCTUATION
      Unicode规范中的一般类别“Pi”。
      自:
      1.4
      参见:
    • FINAL_QUOTE_PUNCTUATION

      public static final byte FINAL_QUOTE_PUNCTUATION
      Unicode规范中的一般类别“Pf”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_UNDEFINED

      public static final byte DIRECTIONALITY_UNDEFINED
      未定义的双向字符类型。在Unicode规范中,未定义的char值具有未定义的方向性。
      自:
      1.4
      参见:
    • DIRECTIONALITY_LEFT_TO_RIGHT

      public static final byte DIRECTIONALITY_LEFT_TO_RIGHT
      Unicode规范中的强双向字符类型“L”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_RIGHT_TO_LEFT

      public static final byte DIRECTIONALITY_RIGHT_TO_LEFT
      Unicode规范中的强双向字符类型“R”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC

      public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
      Unicode规范中的强双向字符类型“AL”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_EUROPEAN_NUMBER

      public static final byte DIRECTIONALITY_EUROPEAN_NUMBER
      Unicode规范中的弱双向字符类型“EN”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR

      public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
      Unicode规范中的弱双向字符类型“ES”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR

      public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
      Unicode规范中的弱双向字符类型“ET”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_ARABIC_NUMBER

      public static final byte DIRECTIONALITY_ARABIC_NUMBER
      Unicode规范中的弱双向字符类型“AN”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_COMMON_NUMBER_SEPARATOR

      public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
      Unicode规范中的弱双向字符类型“CS”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_NONSPACING_MARK

      public static final byte DIRECTIONALITY_NONSPACING_MARK
      Unicode规范中的弱双向字符类型“NSM”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_BOUNDARY_NEUTRAL

      public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL
      Unicode规范中的弱双向字符类型“BN”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_PARAGRAPH_SEPARATOR

      public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR
      Unicode规范中的中性双向字符类型“B”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_SEGMENT_SEPARATOR

      public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR
      Unicode规范中的中性双向字符类型“S”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_WHITESPACE

      public static final byte DIRECTIONALITY_WHITESPACE
      Unicode规范中的中性双向字符类型“WS”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_OTHER_NEUTRALS

      public static final byte DIRECTIONALITY_OTHER_NEUTRALS
      Unicode规范中的中性双向字符类型“ON”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING

      public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
      Unicode规范中的强双向字符类型“LRE”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE

      public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
      Unicode规范中的强双向字符类型“LRO”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING

      public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
      Unicode规范中的强双向字符类型“RLE”。
      自:
      1.4
      参见:
    • DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE

      public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
      Unicode规范中的强双向字符类型“RLO”。
      自从:
      1.4
      参见:
    • DIRECTIONALITY_POP_DIRECTIONAL_FORMAT

      public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
      Unicode规范中的弱双向字符类型"PDF"。
      自从:
      1.4
      参见:
    • DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE

      public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE
      Unicode规范中的弱双向字符类型"LRI"。
      自从:
      9
      参见:
    • DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE

      public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE
      Unicode规范中的弱双向字符类型"RLI"。
      自从:
      9
      参见:
    • DIRECTIONALITY_FIRST_STRONG_ISOLATE

      public static final byte DIRECTIONALITY_FIRST_STRONG_ISOLATE
      Unicode规范中的弱双向字符类型"FSI"。
      自从:
      9
      参见:
    • DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE

      public static final byte DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE
      Unicode规范中的弱双向字符类型"PDI"。
      自从:
      9
      参见:
    • MIN_HIGH_SURROGATE

      public static final char MIN_HIGH_SURROGATE
      UTF-16编码中Unicode高代理码单元的最小值,常量'\uD800'。高代理也称为领导代理。
      自从:
      1.5
      参见:
    • MAX_HIGH_SURROGATE

      public static final char MAX_HIGH_SURROGATE
      UTF-16编码中Unicode高代理码单元的最大值,常量'\uDBFF'。高代理也称为领导代理。
      自从:
      1.5
      参见:
    • MIN_LOW_SURROGATE

      public static final char MIN_LOW_SURROGATE
      UTF-16编码中Unicode低代理码单元的最小值,常量'\uDC00'。低代理也称为尾随代理。
      自从:
      1.5
      参见:
    • MAX_LOW_SURROGATE

      public static final char MAX_LOW_SURROGATE
      UTF-16编码中Unicode低代理码单元的最大值,常量'\uDFFF'。低代理也称为尾随代理。
      自从:
      1.5
      参见:
    • MIN_SURROGATE

      public static final char MIN_SURROGATE
      UTF-16编码中Unicode代理码单元的最小值,常量'\uD800'
      自从:
      1.5
      参见:
    • MAX_SURROGATE

      public static final char MAX_SURROGATE
      UTF-16编码中Unicode代理码单元的最大值,常量'\uDFFF'
      自从:
      1.5
      参见:
    • MIN_SUPPLEMENTARY_CODE_POINT

      public static final int MIN_SUPPLEMENTARY_CODE_POINT
      Unicode补充码点的最小值,常量U+10000
      自从:
      1.5
      参见:
    • MIN_CODE_POINT

      public static final int MIN_CODE_POINT
      Unicode码点的最小值,常量U+0000
      自从:
      1.5
      参见:
    • MAX_CODE_POINT

      public static final int MAX_CODE_POINT
      Unicode码点的最大值,常量U+10FFFF
      自从:
      1.5
      参见:
    • SIZE

      public static final int SIZE
      用于以无符号二进制形式表示char值的位数,常量16
      自从:
      1.5
      参见:
    • BYTES

      public static final int BYTES
      用于以无符号二进制形式表示char值的字节数。
      自从:
      1.8
      参见:
  • Constructor Details

    • Character

      @Deprecated(since="9", forRemoval=true) public Character(char value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      It is rarely appropriate to use this constructor. The static factory valueOf(char) is generally a better choice, as it is likely to yield significantly better space and time performance.
      构造一个新分配的Character对象,表示指定的char值。
      参数:
      value - 要由Character对象表示的值。
  • Method Details

    • describeConstable

      public Optional<DynamicConstantDesc<Character>> describeConstable()
      返回一个包含此实例的名义描述符的Optional
      指定者:
      describeConstable 在接口 Constable
      返回:
      一个描述Character实例的Optional
      自从:
      15
    • valueOf

      public static Character valueOf(char c)
      返回表示指定char值的Character实例。如果不需要新的Character实例,则通常应优先使用此方法,而不是构造函数Character(char),因为此方法可能通过缓存频繁请求的值而在空间和时间性能上产生显着改进。此方法将始终缓存范围在'\u0000''\u007F'(包括)之间的值,并且可能缓存此范围之外的其他值。
      参数:
      c - 一个char值。
      返回:
      表示cCharacter实例。
      自从:
      1.5
    • charValue

      public char charValue()
      返回此Character对象的值。
      返回:
      此对象表示的基本char值。
    • hashCode

      public int hashCode()
      为此Character返回一个哈希码;等同于调用charValue()的结果。
      覆盖:
      hashCode 在类 Object
      返回:
      Character的哈希码值
      参见:
    • hashCode

      public static int hashCode(char value)
      返回char值的哈希码;与Character.hashCode()兼容。
      参数:
      value - 要返回哈希码的char
      返回:
      char值的哈希码值。
      自从:
      1.8
    • equals

      public boolean equals(Object obj)
      将此对象与指定对象进行比较。结果为true仅当参数不为null且为表示与此对象相同char值的Character对象时。
      覆盖:
      equals 在类 Object
      参数:
      obj - 要与之比较的对象。
      返回:
      如果对象相同,则为true;否则为false
      参见:
    • toString

      public String toString()
      返回表示此Character值的String对象。结果是一个长度为1的字符串,其唯一组件是由此Character对象表示的基本char值。
      覆盖:
      toString 在类 Object
      返回:
      此对象的字符串表示。
    • toString

      public static String toString(char c)
      返回表示指定charString对象。结果是一个长度为1的字符串,仅由指定的char组成。
      API注释:
      此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用toString(int)方法。
      参数:
      c - 要转换的char
      返回:
      指定char的字符串表示形式
      自版本:
      1.4
    • toString

      public static String toString(int codePoint)
      返回表示指定字符(Unicode代码点)的String对象。结果是一个长度为1或2的字符串,仅由指定的codePoint组成。
      参数:
      codePoint - 要转换的codePoint
      返回:
      指定codePoint的字符串表示形式
      抛出:
      IllegalArgumentException - 如果指定的codePoint不是有效的Unicode代码点
      自版本:
      11
    • isValidCodePoint

      public static boolean isValidCodePoint(int codePoint)
      确定指定的代码点是否是有效的Unicode代码点值
      参数:
      codePoint - 要测试的Unicode代码点
      返回:
      如果指定的代码点值在MIN_CODE_POINTMAX_CODE_POINT之间(包括边界)则返回true;否则返回false
      自版本:
      1.5
    • isBmpCodePoint

      public static boolean isBmpCodePoint(int codePoint)
      确定指定的字符(Unicode代码点)是否在基本多文种平面(BMP)中。这样的代码点可以使用单个char表示。
      参数:
      codePoint - 要测试的字符(Unicode代码点)
      返回:
      如果指定的代码点在MIN_VALUEMAX_VALUE之间(包括边界)则返回true;否则返回false
      自版本:
      1.7
    • isSupplementaryCodePoint

      public static boolean isSupplementaryCodePoint(int codePoint)
      确定指定的字符(Unicode代码点)是否在补充字符范围内。
      参数:
      codePoint - 要测试的字符(Unicode代码点)
      返回:
      如果指定的代码点在MIN_SUPPLEMENTARY_CODE_POINTMAX_CODE_POINT之间(包括边界)则返回true;否则返回false
      自版本:
      1.5
    • isHighSurrogate

      public static boolean isHighSurrogate(char ch)
      确定给定的char值是否是Unicode高代理代码单元(也称为前导代理代码单元)。

      这样的值本身不代表字符,而是用于在UTF-16编码中表示补充字符

      参数:
      ch - 要测试的char值。
      返回:
      如果char值在MIN_HIGH_SURROGATEMAX_HIGH_SURROGATE之间(包括边界)则返回true;否则返回false
      自版本:
      1.5
      参见:
    • isLowSurrogate

      public static boolean isLowSurrogate(char ch)
      确定给定的char值是否是Unicode低代理代码单元(也称为尾随代理代码单元)。

      这样的值本身不代表字符,而是用于在UTF-16编码中表示补充字符

      参数:
      ch - 要测试的char值。
      返回:
      如果char值在MIN_LOW_SURROGATEMAX_LOW_SURROGATE之间(包括边界)则返回true;否则返回false
      自版本:
      1.5
      参见:
    • isSurrogate

      public static boolean isSurrogate(char ch)
      确定给定的char值是否是Unicode代理代码单元

      这样的值本身不代表字符,而是用于在UTF-16编码中表示补充字符

      如果一个char值是代理代码单元,则它只能是低代理代码单元高代理代码单元之一。

      参数:
      ch - 要测试的char值。
      返回:
      如果char值在MIN_SURROGATEMAX_SURROGATE之间(包括边界)则返回true;否则返回false
      自版本:
      1.7
    • isSurrogatePair

      public static boolean isSurrogatePair(char high, char low)
      确定指定的一对char值是否是有效的Unicode代理对

      此方法等同于以下表达式:

      
       isHighSurrogate(high) && isLowSurrogate(low)
       
      参数:
      high - 要测试的高代理代码值
      low - 要测试的低代理代码值
      返回:
      如果指定的高代理和低代理代码值表示有效的代理对则返回true;否则返回false
      自版本:
      1.5
    • charCount

      public static int charCount(int codePoint)
      确定表示指定字符(Unicode代码点)所需的char值的数量。如果指定的字符等于或大于0x10000,则该方法返回2。否则,该方法返回1。

      此方法不验证指定的字符是否为有效的Unicode代码点。如有必要,调用方必须使用isValidCodePoint验证字符值。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是有效的补充字符则返回2;否则返回1。
      自版本:
      1.5
      参见:
    • toCodePoint

      public static int toCodePoint(char high, char low)
      将指定的代理对转换为其补充代码点值。此方法不验证指定的代理对。如有必要,调用方必须使用isSurrogatePair验证。
      参数:
      high - 高代理代码单元
      low - 低代理代码单元
      返回:
      由指定代理对组成的补充代码点。
      自版本:
      1.5
    • codePointAt

      public static int codePointAt(CharSequence seq, int index)
      返回CharSequence中给定索引处的代码点。如果CharSequence中给定索引处的char值在高代理范围内,且后续索引小于CharSequence的长度,并且后续索引处的char值在低代理范围内,则返回对应于此代理对的补充代码点。否则,返回给定索引处的char值。
      参数:
      seq - 一系列char值(Unicode代码单元)
      index - 要转换为seqchar值(Unicode代码单元)的索引
      返回:
      给定索引处的Unicode代码点
      抛出:
      NullPointerException - 如果seq为null。
      IndexOutOfBoundsException - 如果值index为负数或不小于seq.length()
      自版本:
      1.5
    • codePointAt

      public static int codePointAt(char[] a, int index)
      返回char数组中给定索引处的代码点。如果char数组中给定索引处的char值在高代理范围内,且后续索引小于char数组的长度,并且后续索引处的char值在低代理范围内,则返回对应于此代理对的补充代码点。否则,返回给定索引处的char值。
      参数:
      a - char数组
      index - 要转换为char数组中char值(Unicode代码单元)的索引
      返回:
      给定索引处的Unicode代码点
      抛出:
      NullPointerException - 如果a为null。
      IndexOutOfBoundsException - 如果值index为负数或不小于char数组的长度。
      自版本:
      1.5
    • codePointAt

      public static int codePointAt(char[] a, int index, int limit)
      返回给定索引处的char数组中的代码点,只有小于limit的索引才能使用。如果char数组中给定索引处的char值在高代理范围内,接下来的索引小于limit,并且接下来的索引处的char值在低代理范围内,则返回对应于这个代理对的补充代码点。否则,返回给定索引处的char值。
      参数:
      a - char数组
      index - 要转换为char值(Unicode代码单元)的char数组中的索引
      limit - 可在char数组中使用的最后一个数组元素之后的索引
      返回:
      给定索引处的Unicode代码点
      抛出:
      NullPointerException - 如果a为null。
      IndexOutOfBoundsException - 如果index参数为负数或不小于limit参数,或者如果limit参数为负数或大于char数组的长度。
      自1.5起:
      1.5
    • 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代码点值。
      抛出:
      NullPointerException - 如果seq为null。
      IndexOutOfBoundsException - 如果index参数小于1或大于seq.length()
      自1.5起:
      1.5
    • codePointBefore

      public static int codePointBefore(char[] a, int index)
      返回char数组中给定索引之前的代码点。如果char数组中(index - 1)处的char值在低代理范围内,(index - 2)不为负数,并且char数组中(index - 2)处的char值在高代理范围内,则返回对应于这个代理对的补充代码点。否则,返回(index - 1)处的char值。
      参数:
      a - char数组
      index - 应返回的代码点之后的索引
      返回:
      给定索引之前的Unicode代码点值。
      抛出:
      NullPointerException - 如果a为null。
      IndexOutOfBoundsException - 如果index参数小于1或大于char数组的长度。
      自1.5起:
      1.5
    • codePointBefore

      public static int codePointBefore(char[] a, int index, int start)
      返回char数组中给定索引之前的代码点,只有大于或等于start的索引才能使用。如果char数组中(index - 1)处的char值在低代理范围内,(index - 2)不小于start,并且char数组中(index - 2)处的char值在高代理范围内,则返回对应于这个代理对的补充代码点。否则,返回(index - 1)处的char值。
      参数:
      a - char数组
      index - 应返回的代码点之后的索引
      start - char数组中第一个数组元素的索引
      返回:
      给定索引之前的Unicode代码点值。
      抛出:
      NullPointerException - 如果a为null。
      IndexOutOfBoundsException - 如果index参数不大于start参数或大于char数组的长度,或者如果start参数为负数或不小于char数组的长度。
      自1.5起:
      1.5
    • highSurrogate

      public static char highSurrogate(int codePoint)
      返回表示UTF-16编码中指定补充字符(Unicode代码点)的代理对之一(高代理码单元)。如果指定的字符不是补充字符,则返回未指定的char

      如果isSupplementaryCodePoint(x)true,则isHighSurrogate(highSurrogate(x))toCodePoint(highSurrogate(x), lowSurrogate(x)) == x也始终为true

      参数:
      codePoint - 补充字符(Unicode代码点)
      返回:
      用于表示UTF-16编码中字符的前导代理码单元
      自1.7起:
      1.7
    • lowSurrogate

      public static char lowSurrogate(int codePoint)
      返回表示UTF-16编码中指定补充字符(Unicode代码点)的代理对之一(低代理码单元)。如果指定的字符不是补充字符,则返回未指定的char

      如果isSupplementaryCodePoint(x)true,则isLowSurrogate(lowSurrogate(x))toCodePoint(highSurrogate(x), lowSurrogate(x)) == x也始终为true

      参数:
      codePoint - 补充字符(Unicode代码点)
      返回:
      用于表示UTF-16编码中字符的尾随代理码单元
      自1.7起:
      1.7
    • toChars

      public static int toChars(int codePoint, char[] dst, int dstIndex)
      将指定字符(Unicode代码点)转换为其UTF-16表示。如果指定的代码点是BMP(基本多文种平面或平面0)值,则相同的值存储在dst[dstIndex]中,并返回1。如果指定的代码点是补充字符,则其代理值存储在dst[dstIndex](高代理)和dst[dstIndex+1](低代理)中,并返回2。
      参数:
      codePoint - 要转换的字符(Unicode代码点)。
      dst - 存储codePoint的UTF-16值的char数组。
      dstIndex - 存储转换值的dst数组中的起始索引。
      返回:
      如果代码点是BMP代码点,则返回1,如果代码点是补充代码点,则返回2。
      抛出:
      IllegalArgumentException - 如果指定的codePoint不是有效的Unicode代码点。
      NullPointerException - 如果指定的dst为null。
      IndexOutOfBoundsException - 如果dstIndex为负数或不小于dst.length,或者如果dstdstIndex处没有足够的数组元素来存储结果的char值(如果dstIndex等于dst.length-1且指定的codePoint是补充字符,则高代理值不存储在dst[dstIndex]中)。
      自1.5起:
      1.5
    • toChars

      public static char[] toChars(int codePoint)
      将指定字符(Unicode代码点)转换为存储在char数组中的UTF-16表示。如果指定的代码点是BMP(基本多文种平面或平面0)值,则结果的char数组与codePoint具有相同的值。如果指定的代码点是补充代码点,则结果的char数组具有相应的代理对。
      参数:
      codePoint - 一个Unicode代码点
      返回:
      一个具有codePoint的UTF-16表示的char数组。
      抛出:
      IllegalArgumentException - 如果指定的codePoint不是有效的Unicode代码点。
      自1.5起:
      1.5
    • codePointCount

      public static int codePointCount(CharSequence seq, int beginIndex, int endIndex)
      返回指定字符序列的文本范围中的Unicode代码点数。文本范围从指定的beginIndex开始,延伸到索引endIndex - 1处的char。因此,文本范围的长度(以char为单位)为endIndex-beginIndex。文本范围内的不成对代理计为一个代码点。
      参数:
      seq - 字符序列
      beginIndex - 文本范围的第一个char的索引。
      endIndex - 文本范围中最后一个char之后的索引。
      返回:
      指定文本范围中的Unicode代码点数
      抛出:
      NullPointerException - 如果seq为null。
      IndexOutOfBoundsException - 如果beginIndex为负数,或endIndex大于给定序列的长度,或beginIndex大于endIndex
      自1.5起:
      1.5
    • codePointCount

      public static int codePointCount(char[] a, int offset, int count)
      返回char数组参数的子数组中的Unicode代码点数。 offset参数是子数组的第一个char的索引,count参数指定子数组中char的长度。子数组中的不成对代理每个计为一个代码点。
      参数:
      a - char数组
      offset - 给定char数组中第一个char的索引
      count - 子数组中char的长度
      返回:
      指定子数组中的Unicode代码点数
      抛出:
      NullPointerException - 如果a为null。
      IndexOutOfBoundsException - 如果offsetcount为负数,或如果offset + count大于给定数组的长度。
      自1.5起:
      1.5
    • offsetByCodePoints

      public static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset)
      返回从给定index偏移codePointOffset代码点的字符序列中的索引。给定由indexcodePointOffset指定的文本范围中的不成对代理每个计为一个代码点。
      参数:
      seq - 字符序列
      index - 要偏移的索引
      codePointOffset - 代码点的偏移量
      返回:
      字符序列中的索引
      抛出:
      NullPointerException - 如果seq为null。
      IndexOutOfBoundsException - 如果index为负数或大于字符序列的长度,或者如果codePointOffset为正数且以index开头的子序列的代码点少于codePointOffset,或者如果codePointOffset为负数且以index之前的子序列的代码点少于codePointOffset的绝对值。
      自1.5起:
      1.5
    • offsetByCodePoints

      public static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)
      返回从给定index偏移codePointOffset代码点的char子数组中的索引。 startcount参数指定char数组的子数组。给定由indexcodePointOffset指定的文本范围中的不成对代理每个计为一个代码点。
      参数:
      a - char数组
      start - 子数组中第一个char的索引
      count - 子数组中char的长度
      index - 要偏移的索引
      codePointOffset - 代码点的偏移量
      返回:
      子数组中的索引
      抛出:
      NullPointerException - 如果a为null。
      IndexOutOfBoundsException - 如果startcount为负数,或如果start + count大于给定数组的长度,或如果index小于start或大于start + count,或如果codePointOffset为正数且以index开头并以start + count - 1结尾的文本范围的代码点少于codePointOffset,或如果codePointOffset为负数且以start开头并以index - 1结尾的文本范围的代码点少于codePointOffset的绝对值。
      自1.5起:
      1.5
    • 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 - 要测试的字符。
      返回:
      如果字符为小写,则为true; 否则为false
      参见:
    • isLowerCase

      public static boolean isLowerCase(int codePoint)
      确定指定字符(Unicode代码点)是否为小写字符。

      如果字符的一般类别类型由getType(codePoint)提供,为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代码点)。
      返回:
      如果字符为小写,则为true; 否则为false
      自1.5起:
      1.5
      参见:
    • 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 - 要测试的字符。
      返回:
      如果字符为大写,则为true; 否则为false
      自1.0起:
      1.0
      参见:
    • isUpperCase

      public static boolean isUpperCase(int codePoint)
      确定指定字符(Unicode代码点)是否为大写字符。

      如果字符的一般类别类型由getType(codePoint)提供,为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代码点)。
      返回:
      如果字符为大写,则为true; 否则为false
      自1.5起:
      1.5
      参见:
    • isTitleCase

      public static boolean isTitleCase(char ch)
      确定指定的字符是否是标题大小写字符。

      如果字符的一般类别类型由Character.getType(ch)提供,并且是TITLECASE_LETTER,则字符是标题大小写字符。

      有些字符看起来像一对拉丁字母。例如,有一个大写字母看起来像“LJ”,有一个相应的小写字母看起来像“lj”。第三种形式,看起来像“Lj”,是在以小写字母和首字母大写的形式呈现单词时使用的适当形式,比如书名。

      以下是此方法返回true的一些Unicode字符:

      • 带CARON的拉丁大写字母D和小写字母Z
      • 带小写字母J的拉丁大写字母L
      • 带小写字母J的拉丁大写字母N
      • 带小写字母Z的拉丁大写字母D

      许多其他Unicode字符也是标题大小写字符。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isTitleCase(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是标题大小写字符,则返回true;否则返回false
      自:
      1.0.2
      参见:
    • isTitleCase

      public static boolean isTitleCase(int codePoint)
      确定指定的字符(Unicode代码点)是否是标题大小写字符。

      如果字符的一般类别类型由getType(codePoint)提供,并且是TITLECASE_LETTER,则字符是标题大小写字符。

      有些字符看起来像一对拉丁字母。例如,有一个大写字母看起来像“LJ”,有一个相应的小写字母看起来像“lj”。第三种形式,看起来像“Lj”,是在以小写字母和首字母大写的形式呈现单词时使用的适当形式,比如书名。

      以下是此方法返回true的一些Unicode字符:

      • 带CARON的拉丁大写字母D和小写字母Z
      • 带小写字母J的拉丁大写字母L
      • 带小写字母J的拉丁大写字母N
      • 带小写字母Z的拉丁大写字母D

      许多其他Unicode字符也是标题大小写字符。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是标题大小写字符,则返回true;否则返回false
      自:
      1.5
      参见:
    • 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 - 要测试的字符。
      返回:
      如果字符是数字,则返回true;否则返回false
      参见:
    • isDigit

      public static boolean isDigit(int codePoint)
      确定指定的字符(Unicode代码点)是否是数字。

      如果字符的一般类别类型由getType(codePoint)提供,并且是DECIMAL_DIGIT_NUMBER,则字符是数字。

      一些包含数字的Unicode字符范围:

      • '\u0030''\u0039',ISO-LATIN-1数字('0''9'
      • '\u0660''\u0669',阿拉伯-印度数字
      • '\u06F0''\u06F9',扩展阿拉伯-印度数字
      • '\u0966''\u096F',天城数字
      • '\uFF10''\uFF19',全角数字
      许多其他字符范围也包含数字。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是数字,则返回true;否则返回false
      自:
      1.5
      参见:
    • isDefined

      public static boolean isDefined(char ch)
      确定字符是否在Unicode中定义。

      如果以下至少有一项为真,则字符被定义:

      • 它在UnicodeData文件中有一个条目。
      • 它在UnicodeData文件定义的范围内有一个值。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isDefined(int)方法。

      参数:
      ch - 要测试的字符
      返回:
      如果字符在Unicode中具有定义的含义,则返回true;否则返回false
      自:
      1.0.2
      参见:
    • isDefined

      public static boolean isDefined(int codePoint)
      确定字符(Unicode代码点)是否在Unicode中定义。

      如果以下至少有一项为真,则字符被定义:

      • 它在UnicodeData文件中有一个条目。
      • 它在UnicodeData文件定义的范围内有一个值。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符在Unicode中具有定义的含义,则返回true;否则返回false
      自:
      1.5
      参见:
    • isLetter

      public static boolean isLetter(char ch)
      确定指定的字符是否是字母。

      如果字符的一般类别类型由Character.getType(ch)提供,并且是以下任何一种,则字符被视为字母:

      • UPPERCASE_LETTER
      • LOWERCASE_LETTER
      • TITLECASE_LETTER
      • MODIFIER_LETTER
      • OTHER_LETTER
      并非所有字母都有大小写。许多字符是字母,但既不是大写字母也不是小写字母或标题大小写字母。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isLetter(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是字母,则返回true;否则返回false
      参见:
    • isLetter

      public static boolean isLetter(int codePoint)
      确定指定的字符(Unicode代码点)是否是字母。

      如果字符的一般类别类型由getType(codePoint)提供,并且是以下任何一种,则字符被视为字母:

      • UPPERCASE_LETTER
      • LOWERCASE_LETTER
      • TITLECASE_LETTER
      • MODIFIER_LETTER
      • OTHER_LETTER
      并非所有字母都有大小写。许多字符是字母,但既不是大写字母也不是小写字母或标题大小写字母。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是字母,则返回true; 否则返回false
      自版本:
      1.5
      参见:
    • isLetterOrDigit

      public static boolean isLetterOrDigit(char ch)
      确定指定的字符是否为字母或数字。

      如果Character.isLetter(char ch)Character.isDigit(char ch)中的任一方法对该字符返回true,则该字符被视为字母或数字。

      注意: 该方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isLetterOrDigit(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是字母或数字,则返回true; 否则返回false
      自版本:
      1.0.2
      参见:
    • isLetterOrDigit

      public static boolean isLetterOrDigit(int codePoint)
      确定指定的字符(Unicode代码点)是否为字母或数字。

      如果isLetter(codePoint)isDigit(codePoint)中的任一方法对该字符返回true,则该字符被视为字母或数字。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是字母或数字,则返回true; 否则返回false
      自版本:
      1.5
      参见:
    • isJavaLetter

      @Deprecated(since="1.1") public static boolean isJavaLetter(char ch)
      Deprecated.
      Replaced by isJavaIdentifierStart(char).
      确定指定的字符是否可作为Java标识符的第一个字符。

      仅当以下条件之一为真时,字符才能作为Java标识符的第一个字符:

      • isLetter(ch)返回true
      • getType(ch)返回LETTER_NUMBER
      • ch是货币符号(例如'$'
      • ch是连接标点字符(例如'_'
      参数:
      ch - 要测试的字符。
      返回:
      如果字符可以作为Java标识符的第一个字符,则返回true; 否则返回false
      自版本:
      1.0.2
      参见:
    • isJavaLetterOrDigit

      @Deprecated(since="1.1") public static boolean isJavaLetterOrDigit(char ch)
      Deprecated.
      Replaced by isJavaIdentifierPart(char).
      确定指定的字符是否可以作为Java标识符的非第一个字符。

      仅当以下条件之一为真时,字符才能作为Java标识符的一部分:

      • 它是字母
      • 它是货币符号(例如'$'
      • 它是连接标点字符(例如'_'
      • 它是数字
      • 它是数字字母(例如罗马数字字符)
      • 它是组合标记
      • 它是非间隔标记
      • isIdentifierIgnorable对该字符返回true
      参数:
      ch - 要测试的字符。
      返回:
      如果字符可以作为Java标识符的一部分,则返回true; 否则返回false
      自版本:
      1.0.2
      参见:
    • isAlphabetic

      public static boolean isAlphabetic(int codePoint)
      确定指定的字符(Unicode代码点)是否为字母。

      如果字符的一般类别类型由getType(codePoint)提供,并且是以下类型之一,则该字符被视为字母:

      • UPPERCASE_LETTER
      • LOWERCASE_LETTER
      • TITLECASE_LETTER
      • MODIFIER_LETTER
      • OTHER_LETTER
      • LETTER_NUMBER
      或者它具有Unicode标准定义的贡献属性Other_Alphabetic。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是Unicode字母字符,则返回true; 否则返回false
      自版本:
      1.7
    • isIdeographic

      public static boolean isIdeographic(int codePoint)
      确定指定的字符(Unicode代码点)是否为CJKV(中文、日文、韩文和越南文)表意字符,如Unicode标准所定义。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是Unicode表意字符,则返回true; 否则返回false
      自版本:
      1.7
    • isJavaIdentifierStart

      public static boolean isJavaIdentifierStart(char ch)
      确定指定的字符是否可作为Java标识符的第一个字符。

      仅当以下条件之一为真时,字符才能作为Java标识符的第一个字符:

      • isLetter(ch)返回true
      • getType(ch)返回LETTER_NUMBER
      • ch是货币符号(例如'$'
      • ch是连接标点字符(例如'_'

      注意: 该方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isJavaIdentifierStart(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符可以作为Java标识符的第一个字符,则返回true; 否则返回false
      自版本:
      1.1
      参见:
    • isJavaIdentifierStart

      public static boolean isJavaIdentifierStart(int codePoint)
      确定字符(Unicode代码点)是否可作为Java标识符的第一个字符。

      仅当以下条件之一为真时,字符才能作为Java标识符的第一个字符:

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符可以作为Java标识符的第一个字符,则返回true; 否则返回false
      自版本:
      1.5
      参见:
    • isJavaIdentifierPart

      public static boolean isJavaIdentifierPart(char ch)
      确定指定字符是否可以作为Java标识符的一部分,除了第一个字符之外。

      如果以下任一条件为真,则字符可以作为Java标识符的一部分:

      • 它是一个字母
      • 它是一个货币符号(如'$'
      • 它是一个连接标点字符(如'_'
      • 它是一个数字
      • 它是一个数字字母(如罗马数字字符)
      • 它是一个组合标记
      • 它是一个非间距标记
      • isIdentifierIgnorable对该字符返回true

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isJavaIdentifierPart(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符可以作为Java标识符的一部分,则返回true;否则返回false
      自版本:
      1.1
      参见:
    • isJavaIdentifierPart

      public static boolean isJavaIdentifierPart(int codePoint)
      确定字符(Unicode代码点)是否可以作为Java标识符的一部分,除了第一个字符之外。

      如果以下任一条件为真,则字符可以作为Java标识符的一部分:

      • 它是一个字母
      • 它是一个货币符号(如'$'
      • 它是一个连接标点字符(如'_'
      • 它是一个数字
      • 它是一个数字字母(如罗马数字字符)
      • 它是一个组合标记
      • 它是一个非间距标记
      • isIdentifierIgnorable(codePoint)对该代码点返回true
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符可以作为Java标识符的一部分,则返回true;否则返回false
      自版本:
      1.5
      参见:
    • isUnicodeIdentifierStart

      public static boolean isUnicodeIdentifierStart(char ch)
      确定指定字符是否可以作为Unicode标识符中的第一个字符。

      如果以下条件之一为真,则字符可以作为Unicode标识符的第一个字符:

      此方法符合Unicode标准的UAX31-R1:默认标识符要求,具有以下UAX31的配置文件:

       Start := ID_Start + 'VERTICAL TILDE' (U+2E2F)
       
      'VERTICAL TILDE'被添加到Start以实现向后兼容性。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isUnicodeIdentifierStart(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符可以作为Unicode标识符的第一个字符,则返回true;否则返回false
      自版本:
      1.1
      外部规范
      参见:
    • isUnicodeIdentifierStart

      public static boolean isUnicodeIdentifierStart(int codePoint)
      确定指定字符(Unicode代码点)是否可以作为Unicode标识符中的第一个字符。

      如果以下条件之一为真,则字符可以作为Unicode标识符的第一个字符:

      此方法符合Unicode标准的UAX31-R1:默认标识符要求,具有以下UAX31的配置文件:

       Start := ID_Start + 'VERTICAL TILDE' (U+2E2F)
       
      'VERTICAL TILDE'被添加到Start以实现向后兼容性。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符可以作为Unicode标识符的第一个字符,则返回true;否则返回false
      自版本:
      1.5
      外部规范
      参见:
    • isUnicodeIdentifierPart

      public static boolean isUnicodeIdentifierPart(char ch)
      确定指定字符是否可以作为Unicode标识符的一部分,除了第一个字符之外。

      如果以下任一语句为真,则字符可以作为Unicode标识符的一部分:

      • 它是一个字母
      • 它是一个连接标点字符(如'_'
      • 它是一个数字
      • 它是一个数字字母(如罗马数字字符)
      • 它是一个组合标记
      • 它是一个非间距标记
      • isIdentifierIgnorable对该字符返回true
      • 它是一个 Other_ID_Start字符
      • 它是一个 Other_ID_Continue字符

      此方法符合Unicode标准的UAX31-R1:默认标识符要求,具有以下UAX31的配置文件:

       Continue := Start + ID_Continue + ignorable
       Medial := empty
       ignorable := isIdentifierIgnorable(char)对该字符返回true
       
      ignorable被添加到Continue以实现向后兼容性。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isUnicodeIdentifierPart(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符可以作为Unicode标识符的一部分,则返回true;否则返回false
      自版本:
      1.1
      外部规范
      参见:
    • isUnicodeIdentifierPart

      public static boolean isUnicodeIdentifierPart(int codePoint)
      确定指定字符(Unicode代码点)是否可以作为Unicode标识符的一部分,除了第一个字符之外。

      如果以下任一语句为真,则字符可以作为Unicode标识符的一部分:

      • 它是一个字母
      • 它是一个连接标点字符(如'_'
      • 它是一个数字
      • 它是一个数字字母(如罗马数字字符)
      • 它是一个组合标记
      • 它是一个非间距标记
      • isIdentifierIgnorable对该字符返回true
      • 它是一个 Other_ID_Start字符
      • 它是一个 Other_ID_Continue字符

      此方法符合Unicode标准的UAX31-R1:默认标识符要求,具有以下UAX31的配置文件:

       Continue := Start + ID_Continue + ignorable
       Medial := empty
       ignorable := isIdentifierIgnorable(int)对该字符返回true
       
      ignorable被添加到Continue以实现向后兼容性。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符可能是Unicode标识符的一部分,则返回true; 否则返回false
      自版本:
      1.5
      外部规范
      另请参阅:
    • isIdentifierIgnorable

      public static boolean isIdentifierIgnorable(char ch)
      确定指定字符是否应被视为Java标识符或Unicode标识符中的可忽略字符。

      以下Unicode字符在Java标识符或Unicode标识符中是可忽略的:

      • 不是空格的ISO控制字符
        • '\u0000''\u0008'
        • '\u000E''\u001B'
        • '\u007F''\u009F'
      • 所有具有FORMAT通用类别值的字符

      注意: 此方法无法处理 补充字符。要支持所有Unicode字符,包括补充字符,请使用isIdentifierIgnorable(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是可忽略的控制字符,可能是Java或Unicode标识符的一部分,则返回true; 否则返回false
      自版本:
      1.1
      另请参阅:
    • isIdentifierIgnorable

      public static boolean isIdentifierIgnorable(int codePoint)
      确定指定字符(Unicode代码点)是否应被视为Java标识符或Unicode标识符中的可忽略字符。

      以下Unicode字符在Java标识符或Unicode标识符中是可忽略的:

      • 不是空格的ISO控制字符
        • '\u0000''\u0008'
        • '\u000E''\u001B'
        • '\u007F''\u009F'
      • 所有具有FORMAT通用类别值的字符
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是可忽略的控制字符,可能是Java或Unicode标识符的一部分,则返回true; 否则返回false
      自版本:
      1.5
      另请参阅:
    • isEmoji

      public static boolean isEmoji(int codePoint)
      确定指定字符(Unicode代码点)是否为Emoji。

      如果字符具有在Unicode Emoji(技术标准#51)中定义的Emoji属性,则被视为Emoji。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是Emoji,则返回true; 否则返回false
      自版本:
      21
    • isEmojiPresentation

      public static boolean isEmojiPresentation(int codePoint)
      确定指定字符(Unicode代码点)是否具有默认的Emoji展示属性。

      如果字符具有在Unicode Emoji(技术标准#51)中定义的Emoji_Presentation属性,则被视为具有Emoji展示属性。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符具有Emoji展示属性,则返回true; 否则返回false
      自版本:
      21
    • isEmojiModifier

      public static boolean isEmojiModifier(int codePoint)
      确定指定字符(Unicode代码点)是否为Emoji修饰符。

      如果字符具有在Unicode Emoji(技术标准#51)中定义的Emoji_Modifier属性,则被视为Emoji修饰符。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是Emoji修饰符,则返回true; 否则返回false
      自版本:
      21
    • isEmojiModifierBase

      public static boolean isEmojiModifierBase(int codePoint)
      确定指定字符(Unicode代码点)是否为Emoji修饰符基础。

      如果字符具有在Unicode Emoji(技术标准#51)中定义的Emoji_Modifier_Base属性,则被视为Emoji修饰符基础。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是Emoji修饰符基础,则返回true; 否则返回false
      自版本:
      21
    • isEmojiComponent

      public static boolean isEmojiComponent(int codePoint)
      确定指定字符(Unicode代码点)是否为Emoji组件。

      如果字符具有在Unicode Emoji(技术标准#51)中定义的Emoji_Component属性,则被视为Emoji组件。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是Emoji组件,则返回true; 否则返回false
      自版本:
      21
    • isExtendedPictographic

      public static boolean isExtendedPictographic(int codePoint)
      确定指定字符(Unicode代码点)是否为扩展象形文字。

      如果字符具有在Unicode Emoji(技术标准#51)中定义的Extended_Pictographic属性,则被视为扩展象形文字。

      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是扩展象形文字,则返回true; 否则返回false
      自版本:
      21
    • toLowerCase

      public static char toLowerCase(char ch)
      使用UnicodeData文件中的大小写映射信息将字符参数转换为小写。

      请注意,Character.isLowerCase(Character.toLowerCase(ch))并不总是对某些字符范围返回true,特别是那些符号或表意文字。

      通常应使用String.toLowerCase()将字符映射为小写。与Character大小写映射方法相比,String大小写映射方法具有几个优点。 String大小写映射方法可以执行区域设置敏感的映射,上下文敏感的映射和1:M字符映射,而Character大小写映射方法则不能。

      注意: 此方法无法处理 补充字符。要支持所有Unicode字符,包括补充字符,请使用toLowerCase(int)方法。

      参数:
      ch - 要转换的字符。
      返回:
      字符的小写等效项,如果有的话; 否则返回字符本身。
      另请参阅:
    • toLowerCase

      public static int toLowerCase(int codePoint)
      使用UnicodeData文件中的大小写映射信息将字符(Unicode代码点)参数转换为小写。

      请注意,Character.isLowerCase(Character.toLowerCase(codePoint))并不总是对某些字符范围返回true,特别是那些符号或表意文字。

      通常应使用String.toLowerCase()将字符映射为小写。与Character大小写映射方法相比,String大小写映射方法具有几个优点。 String大小写映射方法可以执行区域设置敏感的映射,上下文敏感的映射和1:M字符映射,而Character大小写映射方法则不能。

      参数:
      codePoint - 要转换的字符(Unicode代码点)。
      返回:
      字符(Unicode代码点)的小写等效项,如果有的话; 否则返回字符本身。
      自版本:
      1.5
      另请参阅:
    • toUpperCase

      public static char toUpperCase(char ch)
      将字符参数使用UnicodeData文件中的大小写映射信息转换为大写形式。

      请注意,对于某些字符范围,特别是符号或表意文字,Character.isUpperCase(Character.toUpperCase(ch))并不总是返回true

      通常应使用String.toUpperCase()将字符映射为大写形式。与Character大小写映射方法相比,String大小写映射方法具有几个优点。 String大小写映射方法可以执行区域设置敏感的映射,上下文敏感的映射和1:M字符映射,而Character大小写映射方法则不能。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用toUpperCase(int)方法。

      参数:
      ch - 要转换的字符。
      返回:
      字符的大写形式,如果有的话;否则返回字符本身。
      另请参见:
    • toUpperCase

      public static int toUpperCase(int codePoint)
      使用UnicodeData文件中的大小写映射信息,将字符(Unicode代码点)参数转换为大写形式。

      请注意,对于某些字符范围,特别是符号或表意文字,Character.isUpperCase(Character.toUpperCase(codePoint))并不总是返回true

      通常应使用String.toUpperCase()将字符映射为大写形式。与Character大小写映射方法相比,String大小写映射方法具有几个优点。 String大小写映射方法可以执行区域设置敏感的映射,上下文敏感的映射和1:M字符映射,而Character大小写映射方法则不能。

      参数:
      codePoint - 要转换的字符(Unicode代码点)。
      返回:
      字符的大写形式,如果有的话;否则返回字符本身。
      自版本:
      1.5
      另请参见:
    • toTitleCase

      public static char toTitleCase(char ch)
      使用UnicodeData文件中的大小写映射信息,将字符参数转换为标题大小写形式。如果字符没有明确的标题大小写映射,并且不是根据UnicodeData本身是标题大小写字符,则将大写映射作为等效的标题大小写映射返回。如果char参数已经是标题大小写char,则将返回相同的char值。

      请注意,对于某些字符范围,Character.isTitleCase(Character.toTitleCase(ch))并不总是返回true

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用toTitleCase(int)方法。

      参数:
      ch - 要转换的字符。
      返回:
      字符的标题大小写形式,如果有的话;否则返回字符本身。
      自版本:
      1.0.2
      另请参见:
    • toTitleCase

      public static int toTitleCase(int codePoint)
      使用UnicodeData文件中的大小写映射信息,将字符(Unicode代码点)参数转换为标题大小写形式。如果字符没有明确的标题大小写映射,并且不是根据UnicodeData本身是标题大小写字符,则将大写映射作为等效的标题大小写映射返回。如果字符参数已经是标题大小写字符,则将返回相同的字符值。

      请注意,对于某些字符范围,Character.isTitleCase(Character.toTitleCase(codePoint))并不总是返回true

      参数:
      codePoint - 要转换的字符(Unicode代码点)。
      返回:
      字符的标题大小写形式,如果有的话;否则返回字符本身。
      自版本:
      1.5
      另请参见:
    • digit

      public static int digit(char ch, int radix)
      返回指定基数中字符ch的数值。

      如果基数不在范围MIN_RADIXradixMAX_RADIX内,或者ch的值在指定基数中不是有效数字,则返回-1。如果字符是有效数字,则至少以下列情况之一为真:

      • 方法isDigit对字符为true,并且字符的Unicode十进制数字值(或其单字符分解)小于指定基数。在这种情况下,返回十进制数字值。
      • 字符是大写拉丁字母'A''Z'之间的一个,并且其代码小于radix + 'A' - 10。在这种情况下,返回ch - 'A' + 10
      • 字符是小写拉丁字母'a''z'之间的一个,并且其代码小于radix + 'a' - 10。在这种情况下,返回ch - 'a' + 10
      • 字符是全角大写拉丁字母A('\uFF21')到Z('\uFF3A')之间的一个,并且其代码小于radix + '\uFF21' - 10。在这种情况下,返回ch - '\uFF21' + 10
      • 字符是全角小写拉丁字母a('\uFF41')到z('\uFF5A')之间的一个,并且其代码小于radix + '\uFF41' - 10。在这种情况下,返回ch - '\uFF41' + 10

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用digit(int, int)方法。

      参数:
      ch - 要转换的字符。
      radix - 基数。
      返回:
      字符在指定基数中表示的数值。
      另请参见:
    • digit

      public static int digit(int codePoint, int radix)
      返回指定基数中指定字符(Unicode代码点)的数值。

      如果基数不在范围MIN_RADIXradixMAX_RADIX内,或者字符在指定基数中不是有效数字,则返回-1。如果字符是有效数字,则至少以下列情况之一为真:

      • 方法isDigit(codePoint)对字符为true,并且字符的Unicode十进制数字值(或其单字符分解)小于指定基数。在这种情况下,返回十进制数字值。
      • 字符是大写拉丁字母'A''Z'之间的一个,并且其代码小于radix + 'A' - 10。在这种情况下,返回codePoint - 'A' + 10
      • 字符是小写拉丁字母'a''z'之间的一个,并且其代码小于radix + 'a' - 10。在这种情况下,返回codePoint - 'a' + 10
      • 字符是全角大写拉丁字母A('\uFF21')到Z('\uFF3A')之间的一个,并且其代码小于radix + '\uFF21' - 10。在这种情况下,返回codePoint - '\uFF21' + 10
      • 字符是全角小写拉丁字母a('\uFF41')到z('\uFF5A')之间的一个,并且其代码小于radix + '\uFF41'- 10。在这种情况下,返回codePoint - '\uFF41' + 10
      参数:
      codePoint - 要转换的字符(Unicode代码点)。
      radix - 基数。
      返回:
      字符在指定基数中表示的数值。
      自版本:
      1.5
      另请参见:
    • getNumericValue

      public static int getNumericValue(char ch)
      返回指定Unicode字符表示的int值。例如,字符'\u216C'(罗马数字五十)将返回一个值为50的int。

      大写字母A-Z的大写形式('\u0041''\u005A')、小写形式('\u0061''\u007A')和全角变体形式('\uFF21''\uFF3A''\uFF41''\uFF5A')的字母具有从10到35的数值。这与Unicode规范无关,Unicode规范不为这些char值分配数值。

      如果字符没有数值,则返回-1。如果字符具有无法表示为非负整数的数值(例如,分数值),则返回-2。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用getNumericValue(int)方法。

      参数:
      ch - 要转换的字符。
      返回:
      字符的数值,作为非负的int值;如果字符具有数值但该值无法表示为非负的int值,则返回-2;如果字符没有数值,则返回-1。
      自版本:
      1.1
      另请参见:
    • getNumericValue

      public static int getNumericValue(int codePoint)
      返回指定字符(Unicode代码点)表示的int值。例如,字符'\u216C'(罗马数字五十)将返回一个值为50的int

      大写字母A-Z('\u0041''\u005A')、小写字母('\u0061''\u007A')和全角变体('\uFF21''\uFF3A''\uFF41''\uFF5A')的字符具有从10到35的数值。这与Unicode规范无关,Unicode规范不为这些char值分配数值。

      如果字符没有数值,则返回-1。如果字符具有无法表示为非负整数的数值(例如,分数值),则返回-2。

      参数:
      codePoint - 要转换的字符(Unicode代码点)。
      返回:
      字符的数值,作为非负int值;如果字符具有数值但该值无法表示为非负int值,则返回-2;如果字符没有数值,则返回-1。
      自版本:
      1.5
      另请参阅:
    • isSpace

      @Deprecated(since="1.1") public static boolean isSpace(char ch)
      Deprecated.
      Replaced by isWhitespace(char).
      确定指定字符是否为ISO-LATIN-1空白字符。此方法仅对以下五个字符返回true
      truechars
      字符 代码 名称
      '\t' U+0009 水平制表符
      '\n' U+000A 换行符
      '\f' U+000C 换页符
      '\r' U+000D 回车符
      ' ' U+0020 空格
      参数:
      ch - 要测试的字符。
      返回:
      如果字符是ISO-LATIN-1空白字符,则返回true;否则返回false
      另请参阅:
    • isSpaceChar

      public static boolean isSpaceChar(char ch)
      确定指定字符是否为Unicode空格字符。如果字符的一般类别类型是以下之一,则将其视为空格字符:
      • SPACE_SEPARATOR
      • LINE_SEPARATOR
      • PARAGRAPH_SEPARATOR

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isSpaceChar(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是空格字符,则返回true;否则返回false
      自版本:
      1.1
      另请参阅:
    • isSpaceChar

      public static boolean isSpaceChar(int codePoint)
      确定指定字符(Unicode代码点)是否为Unicode空格字符。如果字符的一般类别类型是以下之一,则将其视为空格字符:
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是空格字符,则返回true;否则返回false
      自版本:
      1.5
      另请参阅:
    • isWhitespace

      public static boolean isWhitespace(char ch)
      确定指定字符是否为Java定义的空白字符。只有当字符满足以下条件之一时,才是Java空白字符:
      • 它是Unicode空格字符(SPACE_SEPARATORLINE_SEPARATORPARAGRAPH_SEPARATOR),但不是非间断空格('\u00A0''\u2007''\u202F')。
      • 它是'\t',U+0009水平制表符。
      • 它是'\n',U+000A换行符。
      • 它是'\u000B',U+000B垂直制表符。
      • 它是'\f',U+000C换页符。
      • 它是'\r',U+000D回车符。
      • 它是'\u001C',U+001C文件分隔符。
      • 它是'\u001D',U+001D组分隔符。
      • 它是'\u001E',U+001E记录分隔符。
      • 它是'\u001F',U+001F单元分隔符。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isWhitespace(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是Java空白字符,则返回true;否则返回false
      自版本:
      1.1
      另请参阅:
    • isWhitespace

      public static boolean isWhitespace(int codePoint)
      确定指定字符(Unicode代码点)是否为Java定义的空白字符。只有当字符满足以下条件之一时,才是Java空白字符:
      • 它是Unicode空格字符(SPACE_SEPARATORLINE_SEPARATORPARAGRAPH_SEPARATOR),但不是非间断空格('\u00A0''\u2007''\u202F')。
      • 它是'\t',U+0009水平制表符。
      • 它是'\n',U+000A换行符。
      • 它是'\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;否则返回false
      自版本:
      1.5
      另请参阅:
    • isISOControl

      public static boolean isISOControl(char ch)
      确定指定字符是否为ISO控制字符。如果字符的代码在'\u0000''\u001F''\u007F''\u009F'范围内,则将其视为ISO控制字符。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isISOControl(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      如果字符是ISO控制字符,则返回true;否则返回false
      自版本:
      1.1
      另请参阅:
    • isISOControl

      public static boolean isISOControl(int codePoint)
      确定引用字符(Unicode代码点)是否为ISO控制字符。如果字符的代码在'\u0000''\u001F''\u007F''\u009F'范围内,则将其视为ISO控制字符。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      如果字符是ISO控制字符,则返回true;否则返回false
      自版本:
      1.5
      另请参阅:
    • getType

      public static int getType(char ch)
      返回指定字符的一般类别的值。

      注意:此方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用getType(int)方法。

      参数:
      ch - 要测试的字符。
      返回:
      代表字符通用类别的int值。
      自版本:
      1.1
      另请参阅:
    • getType

      public static int getType(int codePoint)
      返回表示字符通用类别的值。
      参数:
      codePoint - 要测试的字符(Unicode代码点)。
      返回:
      代表字符通用类别的int值。
      自版本:
      1.5
      另请参阅:
    • forDigit

      public static char forDigit(int digit, int radix)
      确定指定基数中特定数字的字符表示。如果radix的值不是有效基数,或者digit的值不是指定基数中的有效数字,则返回空字符('\u0000')。

      radix参数有效的条件是它大于或等于MIN_RADIX且小于或等于MAX_RADIX。如果digit参数有效,则0 <= digit < radix

      如果数字小于10,则返回'0' + digit。否则,返回值'a' + digit - 10

      参数:
      digit - 要转换为字符的数字。
      radix - 基数。
      返回:
      指定基数中指定数字的char表示。
      另请参阅:
    • getDirectionality

      public static byte getDirectionality(char ch)
      返回给定字符的Unicode方向性属性。字符方向性用于计算文本的视觉顺序。未定义char值的方向性值为DIRECTIONALITY_UNDEFINED

      注意: 该方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用getDirectionality(int)方法。

      参数:
      ch - 请求其方向性属性的char
      返回:
      char值的方向性属性。
      自版本:
      1.4
      另请参阅:
    • getDirectionality

      public static byte getDirectionality(int codePoint)
      返回给定字符(Unicode代码点)的Unicode方向性属性。字符方向性用于计算文本的视觉顺序。未定义字符的方向性值为DIRECTIONALITY_UNDEFINED
      参数:
      codePoint - 请求方向性属性的字符(Unicode代码点)。
      返回:
      字符的方向性属性。
      自版本:
      1.5
      参见:
    • isMirrored

      public static boolean isMirrored(char ch)
      确定字符是否根据Unicode规范进行镜像。当在从右到左的文本中显示时,镜像字符的字形应水平镜像。例如,'\u0028' 左括号被语义定义为一个开括号。在从左到右的文本中,它将显示为"(",但在从右到左的文本中将显示为")"。

      注意: 该方法无法处理补充字符。要支持所有Unicode字符,包括补充字符,请使用isMirrored(int)方法。

      参数:
      ch - 请求镜像属性的char
      返回:
      如果字符是镜像的,则返回true,如果字符不是镜像的或未定义,则返回false
      自版本:
      1.4
    • isMirrored

      public static boolean isMirrored(int codePoint)
      根据Unicode规范确定指定字符(Unicode代码点)是否被镜像。当在从右到左的文本中显示时,镜像字符的字形应水平镜像。例如,'\u0028' 左括号被语义定义为一个开括号。在从左到右的文本中,它将显示为"(",但在从右到左的文本中将显示为")"。
      参数:
      codePoint - 要测试的字符(Unicode代码点)
      返回:
      如果字符是镜像的,则返回true,如果字符不是镜像的或未定义,则返回false
      自版本:
      1.5
    • compareTo

      public int compareTo(Character anotherCharacter)
      按数字比较两个Character对象。
      接口实现:
      compareTo 在接口 Comparable<Character>
      参数:
      anotherCharacter - 要比较的Character
      返回:
      如果参数Character等于此Character,则返回值0;如果此Character在数字上小于参数Character,则返回小于0的值;如果此Character在数字上大于参数Character,则返回大于0的值(无符号比较)。请注意,这是严格的数字比较;它不依赖于区域设置。
      自版本:
      1.2
    • compare

      public static int compare(char x, char y)
      按数字比较两个char值。返回的值与以下代码返回的值相同:
          Character.valueOf(x).compareTo(Character.valueOf(y))
       
      参数:
      x - 要比较的第一个char
      y - 要比较的第二个char
      返回:
      如果x == y,则返回值0;如果x < y,则返回小于0的值;如果x > y,则返回大于0的值
      自版本:
      1.7
    • reverseBytes

      public static char reverseBytes(char ch)
      返回指定char值的字节顺序颠倒后的值。
      参数:
      ch - 要颠倒字节顺序的char
      返回:
      返回通过颠倒(或等效地交换)指定char值中的字节而获得的值。
      自版本:
      1.5
    • getName

      public static String getName(int codePoint)
      返回指定字符codePoint的名称,如果代码点是未分配,则返回null。

      如果指定字符未被UnicodeData文件(由Unicode联盟维护的Unicode字符数据库的一部分)分配名称,则返回的名称与以下表达式的结果相同:

      Character.UnicodeBlock.of(codePoint).toString().replace('_', ' ') + " " + Integer.toHexString(codePoint).toUpperCase(Locale.ROOT);
      对于UnicodeData文件中的codePoint,此方法返回的名称遵循Unicode标准中的"Unicode名称属性"部分的命名方案。对于其他代码点,例如Hangul/Ideographs,上述名称生成规则与Unicode标准中定义的规则不同。
      参数:
      codePoint - 字符(Unicode代码点)
      返回:
      指定字符的名称,如果代码点未分配,则返回null。
      抛出:
      IllegalArgumentException - 如果指定的codePoint不是有效的Unicode代码点。
      自版本:
      1.7
    • codePointOf

      public static int codePointOf(String name)
      返回由给定字符名称指定的Unicode字符的代码点值。

      如果字符未被UnicodeData文件(由Unicode联盟维护的Unicode字符数据库的一部分)分配名称,则其名称被定义为以下表达式的结果:

      Character.UnicodeBlock.of(codePoint).toString().replace('_', ' ') + " " + Integer.toHexString(codePoint).toUpperCase(Locale.ROOT);

      name匹配不区分大小写,并删除任何前导和尾随空格字符。对于UnicodeData文件中的代码点,此方法识别符合Unicode标准中"Unicode名称属性"部分中定义的名称。对于其他代码点,此方法识别使用getName(int)方法生成的名称。

      参数:
      name - 字符名称
      返回:
      指定名称的字符的代码点值。
      抛出:
      IllegalArgumentException - 如果指定的name不是有效的字符名称。
      NullPointerException - 如果namenull
      自版本:
      9