Kotlin Types Aliases
Last Updated :
28 Oct, 2021
Imagine you are creating a project where you defined two classes with same name but different packages and you have to use them at once. Generally, you need to use whole package name dot class name format for the second one. For example, we have a class named ‘courses’ one in “com.gfg.apps” package and another in “com.gfg_practice.apps”, we can use one out of them using simple import and if we want to use second one we have to use full package name like “com.gfg_practice.apps.courses”.
In Kotlin, we have a solution for this named as Type aliases. Type aliases provide an alternate name for the existing types (in our case it is a class).
In our above scenario, we can do:
typealias course = com.gfg_practice.apps.courses
and use the class courses from package “com.gfg_practice.apps” anywhere we want without defining the longer version of it every time we use it.
Kotlin program to demonstrate type aliases –
Java
typealias Login_detials = Pair <String, String>
fun main() {
val my_details = Login_detials( "Username1" , "Password1" )
val my_details2 = Login_detials( "Username2" , "Password2" )
println(my_details)
println(my_details2)
}
|
Output:
(Username1, Password1)
(Username2, Password2)
Kotlin program to demonstrate –
Java
typealias Number<T> = (T) -> Boolean
fun main() {
val x: Number<Int> = { it > 0 }
println( "Positive numbers in the list are: "
+listOf( 11 , - 1 , 10 , - 25 , 55 , 43 , - 7 ).filter(x))
}
|
Output:
Positive numbers in the list are: [11, 10, 55, 43]
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...