Kotlin Type Conversion

In Kotlin, type conversion can be done using type casting or conversion functions.

  1. 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 returns null. Here's an example:
re‮ot ref‬:theitroad.com
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 a ClassCastException. Here's an example:
val x: Any = "Hello"
val y: String = x as String
println(y) // Output: "Hello"
  1. 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.