Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
大多数情况下,如果使用单个字符值,则将使用基本 char 类型。例如:
char ch = 'a';
// Unicode for uppercase Greek omega character
char uniChar = '\u03A9';
// an array of chars
char[] charArray = { 'a', 'b', 'c', 'd', 'e' };
但是,有时候需要使用 char 作为对象 - 例如,作为期望对象的方法参数。Java 编程语言提供了一个 wrapper (包装) 类,为此目的将 char "包装" 在 Character 对象中。Character 类型的对象包含单个字段,其类型为 char。这个 Character 类还提供了许多用于操作字符的有用类(即静态)方法。
你可以使用 Character 构造函数创建 Character 对象:
Character ch = new Character('a');
在某些情况下,Java 编译器还将为你创建 Character 对象。例如,如果将基本类型 char 传递给需要对象的方法,则编译器会自动将 char 转换为 Character。则此功能称为 autoboxing (自动装箱) 或者如果反向转换则称为 unboxing (拆箱)。有关自动装箱和拆箱的详细信息,请参阅 Autoboxing and Unboxing。
Character 类是不可变的,因此一旦创建,就无法更改 Character 对象。
下表列出了 Character 类中一些最有用的方法,但并非详尽无遗。有关此类中所有方法的完整列表(有超过 50 个),请参阅 java.lang.Character API 规范。
| 方法 | 描述 |
|---|---|
boolean isLetter(char ch) |
分别确定指定的 char 值是字母还是数字。 |
boolean isWhitespace(char ch) |
确定指定的 char 值是否为空格。 |
boolean isUpperCase(char ch) |
分别确定指定的 char 值是大写还是小写。 |
char toUpperCase(char ch) |
返回指定 char 值的大写或小写形式。 |
toString(char ch) |
返回表示指定字符值的 String 对象 也就是说,单个字符的字符串。 |
以反斜杠(\)开头的字符是 escape sequence (转义序列),对编译器具有特殊含义。下表显示了 Java 转义序列:
| 转义序列 | 描述 |
|---|---|
\t |
此时在文本中插入 tab。 |
\b |
此时在文本中插入退格。 |
\n |
此时在文本中插入换行符。 |
\r |
此时在文本中插入回车符。 |
\f |
此时在文本中插入换页符。 |
\' |
此时在文本中插入单引号字符。 |
\" |
此时在文本中插入双引号字符。 |
\\ |
此时在文本中插入反斜杠字符。 |
在 print 语句中遇到转义序列时,编译器会相应地解释它。例如,如果要在引号内放置引号,则必须在内部引号上使用转义序列 \"。要打印句子
She said "Hello!" to me.
你应该写
System.out.println("She said \"Hello!\" to me.");