java.lang.Object | +----java.lang.Character
Character 类是字符数据的对象包装类。 Character 对象包含单一的 char型数据。
另外,该类还提供了几种方法,可以用来判断字符类型和实现字符的大小写转换。
Character类中的许多方法采用 “Unicode 属性表”中的术语定义,此属性表为每个已定义的 Unicode 代码指定了一个名称。该表也包括了其它一些属性:诸如十进制数,等价的大写值、小写值,和/或标题值。用户能从 3W (世界广域网) 上的以下地址文件中获取该表:
ftp://unicode.org/pub/MappingTables/UnicodeData1.1.5.txt
有关 Character 类的更详细规范,包括诸如在 Unicode 的完整域上的 isDigit, isLetter,
isLowerCase 和 isUpperCase 方法,参见
Gosling, Joy, 和 Steele 编著的书“The Java Language
Specification”。
char 型常量。
char 型常量。
Character 对象,用基本的 值 参数指定的值初始化。
ch 对应的数值。
public static final int MIN_RADIX
Integer 类中的
digit, forDigit
和 toString 方法中,允许使用的最小基数。
public static final int MAX_RADIX
Integer 类中的
digit, forDigit
和 toString 方法中,允许使用的最大基数。
public static final char MIN_VALUE
char 型常量。
public static final char MAX_VALUE
char 型常量。
public static final Class TYPE
public static final byte UNASSIGNEDUPPERCASE_LETTER
public static final byte UPPERCASE_LETTERLOWERCASE_LETTER
public static final byte LOWERCASE_LETTERTITLECASE_LETTER
public static final byte TITLECASE_LETTERMODIFIER_LETTER
public static final byte MODIFIER_LETTEROTHER_LETTER
public static final byte OTHER_LETTERNON_SPACING_MARK
public static final byte NON_SPACING_MARKENCLOSING_MARK
public static final byte ENCLOSING_MARKCOMBINING_SPACING_MARK
public static final byte COMBINING_SPACING_MARKDECIMAL_DIGIT_NUMBER
public static final byte DECIMAL_DIGIT_NUMBERLETTER_NUMBER
public static final byte LETTER_NUMBEROTHER_NUMBER
public static final byte OTHER_NUMBERSPACE_SEPARATOR
public static final byte SPACE_SEPARATORLINE_SEPARATOR
public static final byte LINE_SEPARATORPARAGRAPH_SEPARATOR
public static final byte PARAGRAPH_SEPARATORCONTROL
public static final byte CONTROLFORMAT
public static final byte FORMATPRIVATE_USE
public static final byte PRIVATE_USESURROGATE
public static final byte SURROGATEDASH_PUNCTUATION
public static final byte DASH_PUNCTUATIONSTART_PUNCTUATION
public static final byte START_PUNCTUATIONEND_PUNCTUATION
public static final byte END_PUNCTUATIONCONNECTOR_PUNCTUATION
public static final byte CONNECTOR_PUNCTUATIONOTHER_PUNCTUATION
public static final byte OTHER_PUNCTUATIONMATH_SYMBOL
public static final byte MATH_SYMBOLCURRENCY_SYMBOL
public static final byte CURRENCY_SYMBOLMODIFIER_SYMBOL
public static final byte MODIFIER_SYMBOLOTHER_SYMBOL
public static final byte OTHER_SYMBOL
public Character(char value)
Character 对象,用基本的 value 参数指定的值初始化。
Character 对象的值。
public char charValue()
char 值。
public int hashCode()
public boolean equals(Object obj)
true。
true,否则为 false。
public String toString()
Character 对象转换为一个串。结果是长度为
1 的串。此串的单一元素是表示此对象的基本 char 值。
public static boolean isLowerCase(char ch)
'\u2000' 到
'\u2FFF'的范围内,则它为小写,Unicode 属性表没有指定字符的小写映射,以下至少有一为真:
SMALL LETTER”。
SMALL LIGATURE”。
一个字符被认为是小写的当且仅当通过 Unicode 2.0 标准( Unicode 规范数据文件中的 "L1" 分类)指定它为小写。
ISO-LATIN-1 中的字符(字符代码为 0x0000 到 0x00FF),以下为小写:
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 字符也是小写的。
true;否则返回
false。
public static boolean isUpperCase(char ch)
'\u2000'到
'\u2FFF' 的范围内,则它为大写,Unicode 属性表没有指定字符的大写映射,以下至少有一为真:
CAPITAL LETTER”。
CAPITAL LIGATURE”。
ISO-LATIN-1 中的字符(字符代码为 0x0000 到 0x00FF),以下为大写:
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 字符也是大写的。
true;否则返回
false。
public static boolean isTitleCase(char ch)
Unicode 字符的四种显示格式同 Latin 字母对类似。例如,存在形式为 "LJ" 的大写字母和形式为 "lj" 的小写字母。第三种格式,形式如 "Lj", 当以首字符大写描述一个字,如书名时这种格式是正确形式。
以下是一些 Unicode 字符,此方法对它们返回 true:
LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
LATIN CAPITAL LETTER L WITH SMALL LETTER J
LATIN CAPITAL LETTER N WITH SMALL LETTER J
LATIN CAPITAL LETTER D WITH SMALL LETTER Z
true;否则返回
false。
public static boolean isDigit(char ch)
'\u2000' <= ch <= '\u2FFF'
范围内,则它为数字,它的 Unicode 名包含字 "DIGIT"。有关定义为数字的所有 Unicode 字符的更完整规范,请参见 Gosling, Joy, 和
Steele 的书《 The Java Language Specification》。
Unicode 数字字符范围如下:
| 0x0030 到 0x0039 | ISO-LATIN-1 数字 ('0' 到 '9') |
| 0x0660 到 0x0669 | Arabic-Indic 数字 |
| 0x06F0 到 0x06F9 | 扩展的 Arabic-Indic 数字 |
| 0x0966 到 0x096F | Devanagari 数字 |
| 0x09E6 到 0x09EF | Bengali 数字 |
| 0x0A66 到 0x0A6F | Gurmukhi 数字 |
| 0x0AE6 到 0x0AEF | Gujarati 数字 |
| 0x0B66 到 0x0B6F | Oriya 数字 |
| 0x0BE7 到 0x0BEF | Tamil 数字 |
| 0x0C66 到 0x0C6F | Telugu 数字 |
| 0x0CE6 到 0x0CEF | Kannada 数字 |
| 0x0D66 到 0x0D6F | Malayalam 数字 |
| 0x0E50 到 0x0E59 | Thai 数字 |
| 0x0ED0 到 0x0ED9 | Lao 数字 |
| 0x0F20 到 0x0F29 | Tibetan 数字 |
| 0xFF10 到 0xFF19 | Fullwidth 数字 |
true;否则返回
false。
public static boolean isDefined(char ch)
'\u3040' <= ch <= '\u9FA5'范围内。
'\uF900' <= ch <= '\uFA2D'范围内。
true,否则为 false。
public static boolean isLetter(char ch)
一个字符被认为是一个字母,当且仅当 Unicode 2.0 标准( Unicode 规范数据文件中的 "Lu","Ll","Lm","Lt" 或 "Lo" 分类)指定它为字母。
注意大部分 ideographic 字符是字母( "Lo" 分类)。
另外注意不是所有的字母都有相应的大小写:许多 Unicode 字符是字母,但是它们既不是大写字符,也不是小写字符和标题字符。
true;否则返回
false。
public static boolean isLetterOrDigit(char ch)
一个字符被认为是一个字母,当且仅当 Unicode 2.0 标准( Unicode 规范数据文件中的 "Lu","Ll","Lm","Lt" 或 "Lo" 分类)指定它为一字母或数字。 换言之,一个字符的 isLetterOrDigit 为 true,当且仅当此字符的 isLetter 或 isDigit 为 true。
true;否则为 false。
public static boolean isJavaLetter(char ch)
一个字符是一个 Java 字母,当且仅当它是一个字母、美元符
'$'或下划线 '_'。
true;否则为
false。
public static boolean isJavaLetterOrDigit(char ch)
一个字符是一个 Java 字母或数字,当且仅当它是一个字母、数字、美元符
'$'或下划线 '_'。
true;否则为
false。
public static boolean isJavaIdentifierStart(char ch)
public static boolean isJavaIdentifierPart(char ch)
public static boolean isUnicodeIdentifierStart(char ch)
public static boolean isUnicodeIdentifierPart(char ch)
public static boolean isIdentifierIgnorable(char ch)
| 0x0000 到 0x0008, | ISO 控制字符 |
| 0x000E 到 0x001B, | 非空白字符 |
| 和 0x007F 到 0x009F | |
| 0x200C 到 0x200F | 连接运算控制符 |
| 0x200A 到 0x200E | 双向控制符 |
| 0x206A 到 0x206F | 格式控制符 |
| 0xFEFF | 零宽度的非断开空格 |
public static char toLowerCase(char ch)
一个字符有相应的小写字符,当且仅当在 Unicode 属性表中指定了此字符的小写映射字符。
注意在 '\u2000' 到 '\u2FFF' 范围内的字符有相应的小写字符;即使用它们作参数调用 isUpperCase
方法时不返回真,这个方法也将它们映射为相应的小写字符。
public static char toUpperCase(char ch)
注意在 '\u2000' 到 '\u2000FFF' 范围内的字符有相应的大写字符;即使用它们作参数调用 isLowerCase 方法时不返回真,这个方法也将它们映射为相应的大写字符。
public static char toTitleCase(char ch)
注意在 '\u2000' 到 '\u2FFF' 范围内的字符有相应的标题字符;即使用它们作参数调用 isTitleCase
方法时不返回真,这个方法也将它们映射为相应的标题字符。
仅有四种 Unicode 字符是真正的标题格式,与大写格式不同。作为一条规律,如果一个字符没有相应的标题字符,但有相应的大写字符,那么 Unicode 2.0 属性表为它们指定的标题映射与大写映射相同。
public static int digit(char ch,
int radix)
ch 对应的数值。
若基数不在 MIN_RADIX <=
radix <= MAX_RADIX 范围内,或
ch 不是指定基数的合法值,则返回 -1。如果以下至少有一成立,那么一个字符是一合法数字:
isDigit 为 true,且此字符(或它分解的单字符)的 Unicode 十进制数小于指定基数。满足此种情况时,该方法返回对应的十进制数。
'A' 到 'Z' 范围内的大写拉丁字母,且它的代码小于 radix + 'A' - 10。
这种情况下,该方法返回 ch -
'A' + 10。
'a' 到 'z' 范围内的小写拉丁字母,且它的代码小于 radix + 'a' - 10。
这种情况下,该方法返回 ch -
'a' + 10。
public static int getNumericValue(char ch)
public static boolean isSpace(char ch)
true:
| '\t' | \u0009 | 水平制表符 |
| '\n' | \u000A | 换行 |
| '\f' | \u000C | 换页 |
| '\r' | \u000D | 回车 |
| ' ' | \u0020 | 空格 |
true;否则为
false。
public static boolean isSpaceChar(char ch)
true;否则为
false。
public static boolean isWhitespace(char ch)
true;否则为
false。
public static boolean isISOControl(char ch)
true;否则为
false。
public static int getType(char ch)
public static char forDigit(int digit,
int radix)
radix 不是一个合法基数,或 digit 的值不是以指定基数表示的合法值,则返回 null('\u0000')。
如果 radix 参数大于等于 MIN_RADIX 且小于等于 MAX_RADIX,那么它是合法的。如果 0 <= digit <= radix,则
digit是合法的。
如果 digit 小于 10, 那么返回 '0' + digit。否则返回 'a' + digit - 10。
char。
![]()