引言

使用字符时,我们通常使用的是内置数据类型 char。

char ch = 'a';

// Unicode for uppercase Greek omega character
char uniChar = '\u039A'; 

// 字符数组
char[] charArray = { 'a', 'b', 'c', 'd', 'e' }; 

然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情况。为了解决这个问题,Java 语言为内置数据类型 char 提供了包装类 Character 类。

Character 类的用法:Character 类提供了一系列方法来操纵字符,你可以使用 Character 的构造方法创建一个 Character 类对象,例如:

Character ch = new Character('a');

在某些情况下,Java 编译器会自动创建一个 Character 对象。

例如,将一个 char 类型的参数传递给需要一个 Character 类型参数时,那么编译器会自动地将 char 类型参数转换为 Character 对象。 这种特征称为装箱,反过来称为拆箱。 

// Here following primitive char 'a'
// is boxed into the Character object ch
Character ch = 'a';

// Here primitive 'x' is boxed for method test,
// return is unboxed to char 'c'
char c = test('x');

转义序列

前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。

下面列表展示了 Java 的转义序列:

转义序列

描述

\t

在文中该处插入一个 tab 键

\b

在文中该处插入一个后退键

\n

在文中该处换行

\r

在文中该处插入回车

\f

在文中该处插入换页符

\'

在文中该处插入单引号

\"

在文中该处插入双引号

\\

在文中该处插入反斜杠

实例

当打印语句遇到一个转义序列时,编译器可以正确地对其进行解释。

public class Test {
   public static void main(String args[]) {
      System.out.println("She said \"Hello!\" to me.");
   }
}

以上实例编译运行结果如下:

She said "Hello!" to me.

Character 方法

下面是 Character 类的方法:

方法名

描述

isLetter(ch)

判断字符是否是一个字母。

isDigit(ch)

判断字符是否是一个数字。

isWhitespace(ch)

判断字符是否为空白字符,包括空格、制表符、换行符等。

isUpperCase(ch)

判断字符是否为大写字母。

isLowerCase(ch)

判断字符是否为小写字母。

toUpperCase(ch)

将字符转换为大写字母。

toLowerCase(ch)

将字符转换为小写字母。

toString(ch)

将字符转换为字符串表示形式。

valueOf(ch)

返回一个表示指定字符的 Character 对象。

实例

public class Java {
	public static void main(String[] args) {
		Character ch = new Character('X');
		
		System.out.println(Character.isUpperCase(ch));
		//Character.isUpperCase(ch) 用于判断括号里的字母是否为大写
		System.out.println(Character.isLowerCase(ch));
		//Character.isLowerCase(ch) 用于判断括号里的字母是否为小写
		System.out.println(Character.isDigit(ch));
		//Character.isDigit(ch) 用于判断括号里的内容是否为数字
	}
}

运行结果为:

true
false
false

对于方法的完整列表,请参考的 java.lang.Character API 规范。