在Java中,Character类位于java.lang包中,它提供了一些与char数据类型相关的常量、方法和字段。
以下是Character类中定义的一些重要常量:
常量 | 说明 | 数值 |
---|---|---|
UNASSIGNED | Unicode规范中的常规类别“Cn” | 0 |
UPPERCASE_LETTER | Unicode规范中的常规类别“Lu” | 1 |
LOWERCASE_LETTER | Unicode规范中的常规类别“Ll” | 2 |
ENCLOSING_MARK | Unicode规范中的常规类别“Me” | 7 |
COMBINING_SPACING_MARK | Unicode规范中的常规类型“Mc” | 8 |
DECIMAL_DIGIT_NUMBER | Unicode规范中的常规类别“Nd” | 9 |
LETTER_NUMBER | Unicode规范中的常规类别“NI” | 10 |
LINE_SEPARATOR | Unicode规范中的常规类别“ZI” | 13 |
CONTROL | Unicode规范中的常规类别“Cc” | 15 |
FORMAT | Unicode规范中的常规类别“Cf” | 16 |
DASH_PUNCTUATION | Unicode规范中的常规类别“Pd” | 20 |
END_PUNCTUATION | Unicode规范中的常规类别“Pe” | 22 |
MATH_SYMBOL | Unicode规范中的常规类型“Sm” | 25 |
CONNECTOR_PUNCTUATION | Unicode规范中的常规类型“Pc” | 23 |
CURRENCY_SYMBOL | Unicode规范中的常规类别“Sc” | 26 |
INITIAL_QUOTE_PUNCTUATION | Unicode规范中的常规类别“Pi” | 29 |
FINAL_QUOTE_PUNCTUATION | Unicode规范中的常规类别“Pf” | 30 |
DIRECTIONALITY_RIGHT_TO_LEFT | Unicode规范中的强双向字符类型“R” | 1 |
DIRECTIONALITY_WHITESPACE | Unicode规范中的非特定双向字符类型“WS” | 12 |
DIRECTIONALITY_UNDEFINED | 未定义的双向字符类型 | -1 |
MAX_CODE_POINT | Unicode代码点的最大值 | 0X10FFFF |
MAX_HIGH_SURROGATE | UTF-16编码中的Unicode高代理项代码单元的最大值 | \uDBFF |
MAX_LOW_SURROGATE | UTF-l6编码中的Unicode低代理项代码单元的最大值 | \uDFFF |
MAX_RADIX | 可用于与字符串相互转换的最大基数 | 36 |
TYPE | 表示基本类型char的Class实例 | char |
public static void main(String[] args) {
int b1 = Character.BYTES;
char b2 = Character.MIN_VALUE;
char b3 = Character.MAX_VALUE;
int b4 = Character.SIZE;
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
}
2
NUL
⍁
16
NUL
⍁
16
结果中看到Character.MIN_VALUE
的数值是NUL,Character.MAX_VALUE
的数值是⍁,这实际上是字符的显示形式,而不是它们的数值。Character.MIN_VALUE
对应的数值是0,表示\u0000
,而Character.MAX_VALUE
对应的数值是65535,即\uFFFF
。
此外,Character中还定义了很多 byte 类型的常量:
public static void main(String[] args) {
byte b1 = Character.UNASSIGNED; // 0
byte b2 = Character.UPPERCASE_LETTER;// 1
byte b3 = Character.LOWERCASE_LETTER;// 2
byte b4 = Character.TITLECASE_LETTER;// 3
byte b5 = Character.MODIFIER_LETTER;// 4
byte b6 = Character.OTHER_LETTER;// 5
byte b7 = Character.FINAL_QUOTE_PUNCTUATION;// 30
byte b8 = Character.DIRECTIONALITY_UNDEFINED;// -1
}
上面只是一部分,全部有近 50 个。
📝总结
Character类在java.lang包中提供了丰富的常量和方法,用于处理char类型的数据。这些常量包括字符的基本属性、Unicode类别、字符方向性等。