Open In App

Kotlin Types Aliases

Last Updated : 28 Oct, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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




// here we define a type alias named Login_details
// which will take two strings as parameters
typealias Login_detials = Pair <String, String>
fun main() {
    // we are setting two users but we don't
    // have to define Pair each time while using it
    val my_details = Login_detials("Username1", "Password1")
    //instead we can directly use our type alias Credentials.
    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
// defined a type alias named Number,  > is used as a separator here
 
fun main() {
    //it is used to loop through each element of the below list
    val x: Number<Int> = { it > 0 }
    //filter method only print those element which
    // satisfies the condition (numbers > 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
Previous
Next
Share your thoughts in the comments

Similar Reads