Kotlin编程语言(九)——不同字符类型相互转换
文章目录
在 Kotlin 中,字符类型主要包括 Char
和 String
。你可以使用多种方法在这两种类型之间进行转换。此外,还有一些方法可以将字符转换为数字或其他类型。下面是详细的转换方法和示例。
1. Char
和 String
之间的转换
1.1 Char
转 String
- 使用
toString
方法:
val char: Char = 'A'
val string: String = char.toString()
- 使用模板字符串:
val char: Char = 'A'
val string: String = "$char"
- 直接拼接:
val char: Char = 'A'
val string: String = "" + char
1.2 String
转 Char
- 获取字符串的第一个字符:
val string: String = "Hello"
val char: Char = string[0] // 'H'
- 获取字符串的最后一个字符:
val string: String = "Hello"
val char: Char = string[string.length - 1] // 'o'
2. 字符和数字之间的转换
2.1 Char
转 Int
- 使用
toInt
方法:
val char: Char = '5'
val int: Int = char.toInt() // ASCII 值,例如 '5' 的 ASCII 值是 53
- 转换为数字值:
val char: Char = '5'
val digit: Int = char - '0' // 5
2.2 Int
转 Char
- 使用
toChar
方法:
val int: Int = 65
val char: Char = int.toChar() // 'A'
3. 字符串和数字之间的转换
3.1 String
转 Int
- 使用
toInt
方法:
val string: String = "123"
val int: Int = string.toInt() // 123
- 处理异常:
val string: String = "123"
val int: Int? = try {
string.toInt()
} catch (e: NumberFormatException) {
null
}
3.2 Int
转 String
- 使用
toString
方法:
val int: Int = 123
val string: String = int.toString()
- 使用模板字符串:
val int: Int = 123
val string: String = "$int"
4. 字符串和字符数组之间的转换
4.1 String
转 CharArray
- 使用
toCharArray
方法:
val string: String = "Hello"
val charArray: CharArray = string.toCharArray()
4.2 CharArray
转 String
- 使用
String
构造函数:
val charArray: CharArray = charArrayOf('H', 'e', 'l', 'l', 'o')
val string: String = String(charArray)
示例代码
fun main() {
// Char 转 String
val char: Char = 'A'
val string1: String = char.toString()
val string2: String = "$char"
val string3: String = "" + char
println(string1) // 输出: A
println(string2) // 输出: A
println(string3) // 输出: A
// String 转 Char
val string: String = "Hello"
val char1: Char = string[0] // 'H'
val char2: Char = string[string.length - 1] // 'o'
println(char1) // 输出: H
println(char2) // 输出: o
// Char 转 Int
val char3: Char = '5'
val int1: Int = char3.toInt() // ASCII 值,例如 '5' 的 ASCII 值是 53
val digit1: Int = char3 - '0' // 5
println(int1) // 输出: 53
println(digit1) // 输出: 5
// Int 转 Char
val int2: Int = 65
val char4: Char = int2.toChar() // 'A'
println(char4) // 输出: A
// String 转 Int
val string4: String = "123"
val int3: Int = string4.toInt() // 123
println(int3) // 输出: 123
// Int 转 String
val int4: Int = 123
val string5: String = int4.toString()
val string6: String = "$int4"
println(string5) // 输出: 123
println(string6) // 输出: 123
// String 转 CharArray
val string7: String = "Hello"
val charArray: CharArray = string7.toCharArray()
println(charArray.contentToString()) // 输出: [H, e, l, l, o]
// CharArray 转 String
val charArray2: CharArray = charArrayOf('H', 'e', 'l', 'l', 'o')
val string8: String = String(charArray2)
println(string8) // 输出: Hello
}