
Introduction:
Kotlin, being a statically typed programming language, provides a robust type system that ensures type safety and prevents runtime errors. In certain scenarios, you may need to check the type of a variable to make decisions or perform specific operations. In this blog post, we’ll explore various ways to check the variable type in Kotlin
Method 1: Using is
operator
The is
operator is used to check variable type in Kotlin. It returns true
if a variable is of a specific type and returns false
otherwise.
fun checkVariable(myStr: Any){ if(myStr is String){ println("Variable is String") } else if(myStr is Int){ println("Variable is Integer") } else{ println("Variable is Unknown") } }
In the above example, we use the is
operator to check if the variable is a String
or an Int
.
Method 2: Using when
Expression
The when
expression in Kotlin is a powerful tool for branching based on the type of a variable. It can be thought of as a more versatile replacement for the traditional switch
statement.
when (myStr) { is String -> { println("Variable is String") } is Int -> { println("Variable is Integer") } else -> { println("Variable is Unknown") } }
The when
expression allows you to check multiple types in a concise and readable manner.
Method 3: Using ::class
Property
The ::class
property in Kotlin returns the runtime class of an expression. You can use it to check the type of a variable.
when (myStr::class) { String::class -> { println("Variable is String") } Int::class -> { println("Variable is Integer") } else -> { println("Variable is Unknown") } }
This approach is useful when you need to compare the exact class of a variable.
Method 4: Using as?
safe cast operator
The as?
operator in Kotlin is used for safe casting. It attempts to cast the variable to the specified type and returns null
if the cast is not possible.
fun checkVariable(myStr: Any){ val str = myStr as? String if(str != null){ println("Variable is String") } else{ println("Variable is not String") } }
Conclusion:
In conclusion, Kotlin offers several ways to check variable types, each with its use cases. Depending on your specific scenario, you can choose the method that best suits your needs. Happy coding!