Java 的char基本类型用 16 位来表示单个 Unicode 字符。
char类型基于最早的 Unicode 规范,该规范用 16 位来表示字符。
这足以覆盖大多数常见字母,涵盖 0x0000 到 0xFFFF 范围内的字符。
此后,该规范把可用字符的范围扩展到了 0x01FFFF。
多个char可以组成一个字符串,比如"word",char也可以单独处理。
char字面量用单引号括起来(例如'A')。
char lowerA = 'a';
char upperB = 'B';
String中的char
String.toCharArray方法会把字符串的字符作为数组返回。
正如数组中提到的,你可以用for循环来遍历这个数组。
String text = "Hello";
char[] asArray = text.toCharArray();
for (char ch: asArray) {
System.out.println(ch);
}
// Outputs:
// H
// e
// l
// l
// o
有很多内置的库方法可以用来检查和操作char。
它们是java.lang.Character类的静态方法。
下面是一些例子:
Character.isWhitespace(' '); // true
Character.isWhitespace('#'); // false
Character.isLetter('a'); // true
Character.isLetter('3'); // false
Character.isDigit('6'); // true
Character.isDigit('?'); // false
char添加到String中可以用+运算符把char添加到String中。
'a' + " banana" // => "a banana"
"banana " + 'a' // => "banana a"
注意,_不要_用+把两个char连接成一个String!
用这种方式把两个char相加得到的是int,不是String!
例如:
'b' + 'c';
// => 197 (not the String "bc")
这是因为 Java 会把char提升为int(参见Java Language Specification的4.2 Primitive Types and Values )。
不过,当需要添加的字符很多时,改用StringBuilder会更高效:
StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');
String builtString = builder.toString();
// => abc