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.");