Kotlin Type Conversion
In Kotlin, type conversion can be done using type casting or conversion functions.
- Type casting: Type casting is used to convert a variable of one data type to another data type. It is denoted by the keyword as. Kotlin supports two types of type casting: safe and unsafe.
- Safe casting is used when you are not sure if a cast operation will succeed or not. It is denoted by the keyword as?. If the cast operation fails, it returnsnull. Here's an example:
val x: Any = "Hello" val y: String? = x as? String println(y) // Output: "Hello"
- Unsafe casting is used when you are sure that a cast operation will succeed. It is denoted by the keyword as. If the cast operation fails, it throws aClassCastException. Here's an example:
val x: Any = "Hello" val y: String = x as String println(y) // Output: "Hello"
- Conversion functions: Kotlin provides several built-in conversion functions that can be used to convert a value of one data type to another data type. Some of these functions include:
- toByte(),- toShort(),- toInt(),- toLong(),- toFloat(),- toDouble(): These functions are used to convert a numeric value to another numeric data type.
- toString(): This function is used to convert any value to a string representation.
Here's an example that demonstrates the use of both type casting and conversion functions:
fun main() {
    val x: Any = 10
    val y: String = "20"
    val a: Int = x as Int
    val b: Int = y.toInt()
    println("a = $a")
    println("b = $b")
}
In this program, we use the as keyword to cast the value of x to an Int, and we use the toInt() function to convert the string value of y to an Int. We then print the values of a and b to the console. Note that if we try to cast y to an Int using the as keyword, it will throw a ClassCastException because the value of y is not an Int.
