Type Aliases in Kotlin
On this page (12sections)
Introduction
Type Aliases is a fundamental concept every Kotlin developer should understand. Type aliases and destructuring declarations make Kotlin code more readable and expressive without changing runtime behaviour.
A type alias gives an existing type a shorter or clearer name. In this tutorial you will learn the syntax, walk through a complete example program, study the sample output, and review best practices so you can apply the concept confidently in your own projects.
Definition
- A type alias gives an existing type a shorter or clearer name.
- Aliases do not create a new type — they are compile-time shortcuts.
- They are useful for long generic signatures and domain-specific naming.
Syntax
typealias UserId = String
typealias ScoreMap = Map<String, Int>
Type Aliases in Kotlin Example Program in Kotlin
typealias UserId = String
typealias ScoreMap = Map<String, Int>
fun main() {
val id: UserId = "user-101"
val scores: ScoreMap = mapOf("math" to 95, "science" to 88)
println("User $id scores: $scores")
}
Sample Output
User user-101 scores: {math=95, science=88}
When to use
Use type aliases for long generic types; use destructuring when unpacking data classes or pairs in loops.
How it works
-
The program starts with a
mainfunction — the entry point that runs when you execute the file. -
A type alias gives an existing type a shorter or clearer name.
-
Run the program in IntelliJ IDEA, Android Studio, or with the Kotlin command-line compiler (
kotlinc/kotlin). Compare your console output with the sample output shown below.
Best Practices
- Use type aliases at file or package level for repeated complex signatures.
- Destructuring works best with small data classes — avoid destructuring many fields at once.
Common Mistakes
- Skipping the example and only reading the definition — hands-on practice cements the concept.
- Copying syntax without understanding nullable vs non-nullable types or scope rules.
- Ignoring compiler warnings that often point to safer alternatives.
Key Points
- A type alias gives an existing type a shorter or clearer name.
- Aliases do not create a new type — they are compile-time shortcuts.
- They are useful for long generic signatures and domain-specific naming.
- Test the example locally and verify the output matches the sample.
- Experiment by changing input values to see how behaviour changes.
Notes
- Semicolons at the end of statements are optional in Kotlin.