在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类别、字符方向性等。
码谱记录