所有类


java.lang
类 Character

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

public final class Character
   
   
   
   
   
extends Object
implements Serializable, Comparable<Character>

Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

字符信息基于 Unicode 标准,版本 4.0。

Character 类的方法和数据是通过 UnicodeData 文件中的信息定义的,该文件是 Unicode Consortium 维护的 Unicode Character Database 的一部分。此文件指定了各种属性,其中包括每个已定义 Unicode 代码点或字符范围的名称和常规类别。

此文件及其描述可从 Unicode Consortium 获得,网址如下:

Unicode Character Representations

char 数据类型(和 Character 对象封装的值)基于原始的 Unicode 规范,将字符定义为固定宽度的 16 位实体。Unicode 标准曾做过修改,以允许那些其表示形式需要超过 16 位的字符。合法代码点 的范围现在是从 U+0000 到 U+10FFFF,即通常所说的 Unicode 标量值。(请参阅 Unicode 标准中 U+n 表示法的定义。)

从 U+0000 到 U+FFFF 的字符集有时也称为 Basic Multilingual Plane (BMP)。代码点大于 U+FFFF 的字符称为增补字符。Java 2 平台在 char 数组以及 StringStringBuffer 类中使用 UTF-16 表示形式。在这种表现形式中,增补字符表示为一对 char 值,第一个值取自高代理项 范围,即 (\uD800-\uDBFF),第二个值取自低代理项 范围,即 (\uDC00-\uDFFF)。

所以,char 值表示 Basic Multilingual Plane (BMP) 代码点,其中包括代理项代码点,或 UTF-16 编码的代码单元。int 值表示所有 Unicode 代码点,包括增补代码点。int 的 21 个低位(最低有效位)用于表示 Unicode 代码点,并且 11 个高位(最高有效位)必须为零。除非另有指定,否则与增补字符和代理项 char 值有关的行为如下:

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

在 J2SE API 文档中,Unicode 代码点 用于范围在 U+0000 与 U+10FFFF 之间的字符值,而 Unicode 代码点 用于作为 UTF-16 编码的代码单元的 16 位 char 值。有关 Unicode 技术的详细信息,请参阅 Unicode Glossary

从以下版本开始:
1.0
另请参见:
序列化表格

嵌套类摘要
static classCharacter.Subset
          此类的实例表示 Unicode 字符集的特定子集。
static classCharacter.UnicodeBlock
          表示 Unicode 规范中字符块的一系列字符子集。
 
字段摘要
static byteCOMBINING_SPACING_MARK
          Unicode 规范中的常规类别“Mc”。
static byteCONNECTOR_PUNCTUATION
          Unicode 规范中的常规类别“Pc”。
static byteCONTROL
          Unicode 规范中的常规类别“Cc”。
static byteCURRENCY_SYMBOL
          Unicode 规范中的常规类别“Sc”。
static byteDASH_PUNCTUATION
          Unicode 规范中的常规类别“Pd”。
static byteDECIMAL_DIGIT_NUMBER
          Unicode 规范中的常规类别“Nd”。
static byteDIRECTIONALITY_ARABIC_NUMBER
          Unicode 规范中的弱双向字符类型“AN”。
static byteDIRECTIONALITY_BOUNDARY_NEUTRAL
          Unicode 规范中的弱双向字符类型“BN”。
static byteDIRECTIONALITY_COMMON_NUMBER_SEPARATOR
          Unicode 规范中的弱双向字符类型“CS”。
static byteDIRECTIONALITY_EUROPEAN_NUMBER
          Unicode 规范中的弱双向字符类型“EN”。
static byteDIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
          Unicode 规范中的弱双向字符类型“ES”。
static byteDIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
          Unicode 规范中的弱双向字符类型“ET”。
static byteDIRECTIONALITY_LEFT_TO_RIGHT
          Unicode 规范中的强双向字符类型“L”。
static byteDIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
          Unicode 规范中的强双向字符类型“LRE”。
static byteDIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
          Unicode 规范中的强双向字符类型“LRO”。
static byteDIRECTIONALITY_NONSPACING_MARK
          Unicode 规范中的弱双向字符类型“NSM”。
static byteDIRECTIONALITY_OTHER_NEUTRALS
          Unicode 规范中的非特定双向字符类型“ON”。
static byteDIRECTIONALITY_PARAGRAPH_SEPARATOR
          Unicode 规范中的非特定双向字符类型“B”。
static byteDIRECTIONALITY_POP_DIRECTIONAL_FORMAT
          Unicode 规范中的弱双向字符类型“PDF”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT
          Unicode 规范中的强双向字符类型“R”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
          Unicode 规范中的强双向字符类型“AL”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
          Unicode 规范中的强双向字符类型“RLE”。
static byteDIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
          Unicode 规范中的强双向字符类型“RLO”。
static byteDIRECTIONALITY_SEGMENT_SEPARATOR
          Unicode 规范中的非特定双向字符类型“S”。
static byteDIRECTIONALITY_UNDEFINED
          未定义的双向字符类型。
static byteDIRECTIONALITY_WHITESPACE
          Unicode 规范中的非特定双向字符类型“WS”。
static byteENCLOSING_MARK
          Unicode 规范中的常规类别“Me”。
static byteEND_PUNCTUATION
          Unicode 规范中的常规类别“Pe”。
static byteFINAL_QUOTE_PUNCTUATION
          Unicode 规范中的常规类别“Pf”。
static byteFORMAT
          Unicode 规范中的常规类别“Cf”。
static byteINITIAL_QUOTE_PUNCTUATION
          Unicode 规范中的常规类别“Pi”。
static byteLETTER_NUMBER
          Unicode 规范中的常规类别“Nl”。
static byteLINE_SEPARATOR
          Unicode 规范中的常规类别“Zl”。
static byteLOWERCASE_LETTER
          Unicode 规范中的常规类别“Ll”。
static byteMATH_SYMBOL
          Unicode 规范中的常规类别“Sm”。
static intMAX_CODE_POINT
          Unicode 代码点的最大值。
static charMAX_HIGH_SURROGATE
          UTF-16 编码中的 Unicode 高代理项代码单元的最大值。
static charMAX_LOW_SURROGATE
          UTF-16 编码中的 Unicode 低代理项代码单元的最大值。
static intMAX_RADIX
          可用于与字符串相互转换的最大基数。
static charMAX_SURROGATE
          UTF-16 编码中的 Unicode 代理项代码单元的最大值。
static charMAX_VALUE
          此字段的常量值是 char 类型的最大值,即 '\uFFFF'
static intMIN_CODE_POINT
          Unicode 代码点的最小值。
static charMIN_HIGH_SURROGATE
          UTF-16 编码中的 Unicode 高代理项代码单元的最小值。
static charMIN_LOW_SURROGATE
          UTF-16 编码中的 Unicode 低代理项代码单元的最小值。
static intMIN_RADIX
          可用于与字符串相互转换的最小基数。
static intMIN_SUPPLEMENTARY_CODE_POINT
          增补代码点的最小值。
static charMIN_SURROGATE
          UTF-16 编码中的 Unicode 代理项代码单元的最小值。
static charMIN_VALUE
          此字段的常量值是 char 类型的最小值,即 '\u0000'
static byteMODIFIER_LETTER
          Unicode 规范中的常规类别“Lm”。
static byteMODIFIER_SYMBOL
          Unicode 规范中的常规类别“Sk”。
static byteNON_SPACING_MARK
          Unicode 规范中的常规类别“Mn”。
static byteOTHER_LETTER
          Unicode 规范中的常规类别“Lo”。
static byteOTHER_NUMBER
          Unicode 规范中的常规类别“No”。
static byteOTHER_PUNCTUATION
          Unicode 规范中的常规类别“Po”。
static byteOTHER_SYMBOL
          Unicode 规范中的常规类别“So”。
static bytePARAGRAPH_SEPARATOR
          Unicode 规范中的常规类别“Zp”。
static bytePRIVATE_USE
          Unicode 规范中的常规类别“Co”。
static intSIZE
          用来以无符号二进制形式表示 char 值的位数。
static byteSPACE_SEPARATOR
          Unicode 规范中的常规类别“Zs”。
static byteSTART_PUNCTUATION
          Unicode 规范中的常规类别“Ps”。
static byteSURROGATE
          Unicode 规范中的常规类别“Cs”。
static byteTITLECASE_LETTER
          Unicode 规范中的常规类别“Lt”。
static Class<Character>TYPE
          表示基本类型 charClass 实例。
static byteUNASSIGNED
          Unicode 规范中的常规类别“Cn”。
static byteUPPERCASE_LETTER
          Unicode 规范中的常规类别“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 数组的给定索引上的代码点,该数组中只有那些具有小于 limitindex 值的数组元素可以使用。
static intcodePointAt(CharSequence seq, int index)
          返回 CharSequence 的给定索引上的代码点。
static intcodePointBefore(char[] a, int index)
          返回 char 数组的给定索引前面的代码点。
static intcodePointBefore(char[] a, int index, int start)
          返回 char 数组的给定索引前面的代码点,该数组中只有那些具有大于或等于 startindex 值的数组元素可以使用。
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 代码点数量。
 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 intgetNumericValue(char ch)
          返回指定的 Unicode 字符表示的 int 值。
static intgetNumericValue(int codePoint)
          返回指定字符(Unicode 代码点)表示的 int 值。
static intgetType(char ch)
          返回一个指示字符的常规类别的值。
static intgetType(int codePoint)
          返回一个指示字符的常规类别的值。
 inthashCode()
          返回此 Character 的哈希码。
static booleanisDefined(char ch)
          确定指定字符是否被定义为 Unicode 中的字符。
static booleanisDefined(int codePoint)
          确定指定字符(Unicode 代码点)是否为字符。
static booleanisDigit(char ch)
          确定指定字符是否为数字。
static booleanisDigit(int codePoint)
          确定指定字符(Unicode 代码点)是否为数字。
static booleanisHighSurrogate(char ch)
          确定给出的 char 值是否为一个高代理项代码单元(也称为前导代理项代码单元)。
static booleanisIdentifierIgnorable(char ch)
          确定是否应该认为指定字符是 Java 标识符或 Unicode 标识符中可忽略的一个字符。
static booleanisIdentifierIgnorable(int codePoint)
          确定是否应该认为指定字符(Unicode 代码点)是 Java 标识符或 Unicode 标识符中可忽略的一个字符。
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 值是否一个低代理项代码单元(也称为尾部代理项代码单元)。
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 booleanisSurrogatePair(char high, char low)
          确定指定的 char 值对是否为有效的代理项对。
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)
          确定指定的代码点是否为从 0x00000x10FFFF 范围之内的有效 Unicode 代码点值。
static booleanisWhitespace(char ch)
          确定指定字符依据 Java 标准是否为空白字符。
static booleanisWhitespace(int codePoint)
          确定指定字符(Unicode 代码点)依据 Java 标准是否为空白字符。
static intoffsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)
          返回给定 char 子数组中的索引,它是从给定 indexcodePointOffset 代码点的偏移量。
static intoffsetByCodePoints(CharSequence seq, int index, int codePointOffset)
          返回给定字符序列中的索引,它是从给定 indexcodePointOffset 代码点的偏移量。
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)
          返回一个表示指定 char 值的 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
 

字段详细信息

MIN_RADIX

public static final int MIN_RADIX
可用于与字符串相互转换的最小基数。此字段的常量值是基数转换方法(比如 Integer 类的 digitforDigittoString 方法)中所允许的基数参数的最小值。

另请参见:
digit(char, int), forDigit(int, int), Integer.toString(int, int), Integer.valueOf(java.lang.String), 常量字段值

MAX_RADIX

public static final int MAX_RADIX
可用于与字符串相互转换的最大基数。此字段的常量值是基数转换方法(比如 Integer 类的 digitforDigittoString 方法)中所允许的基数参数的最大值。

另请参见:
digit(char, int), forDigit(int, int), Integer.toString(int, int), Integer.valueOf(java.lang.String), 常量字段值

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
另请参见:
常量字段值