07-字符类型
4.3.2 字符类型
在Kotlin中,字符类型用Char表示,和Java不同的是,字符类型不能直接当作数字进行运算。在Java中,可以直接使用Char类型的ASCII进行算数运算。代码如下。
void check(char a){
if (a== 65){
//编译通过
}
}
而在Kotlin语法中,直接使用Char类型进行算数运算时,编译是无法通过的。代码如下。
void check(a: Char){
if (a== 65){
//编译不通过,不兼容的类型
}
}
在Kotlin语法规则中,如果需要使用字符类型的字面值,则需要用单引号括起来(如'a'),特殊字符可以用反斜杠转义。Kotlin提供的常用特殊字符如表4-4所示。
| 转义符 | 作用描述 | 转义符 | 作用描述 | | :----- | :----- | :----- | :----- | :----- | :----- | | \t | 制表符 | \' | 单引号 | | \b | 退格符 | \" | 双引号 | | \n | 换行符 | \: | 反斜杠 | | \r | 回车 |
虽然字符不能直接作为数值进行使用,但可以使用toInt函数把字符转换为相应的ASCII,然后再进行相关的逻辑运算。代码如下。
fun decimalDigitValue(c: Char): Int {
if (c !in '0'..'9') //字符必须在'0'和'9'之间
throw IllegalArgumentException("Out of range")
return c.toInt() - '0'.toInt() //显式转换为数字
}
和数字类型一样,当需要空引用时,字符也可以被装箱,此时字符标识也同样不会被保留。