Sobes.tech
Junior

What is an 'alias' and how to use it in Kotlin?

sobes.tech AI

Answer from AI

alias in Kotlin does not exist as a reserved keyword. You probably mean typealias.

typealias is a way to give an alternative name to an existing type. It does not create a new type, but is simply an alias for an already existing one.

Advantages of using typealias:

  • Improved code readability, especially when working with complex or long types (e.g., functions with many parameters or generics).
  • Simplified refactoring. If the underlying type changes, you only need to change the typealias definition in one place.

Usage:

typealias is declared at the top level of a file.

// Example with a function
typealias ClickListener = (View, MotionEvent) -> Unit

// Example with a generic
typealias StringList = List<String>

// Example with a class
typealias UserName = String // Does not create a new String type

// Usage
fun setOnClickListener(listener: ClickListener) {
    // ...
}

val names: StringList = listOf("Alice", "Bob")

typealias can be used for:

  • Classes
  • Interfaces
  • Function literals
  • Types with generics
  • Annotations

It is important to remember that typealias is just an alias. The Kotlin compiler treats it as the underlying type. In bytecode, code using the alias is generated as if it were the base type.

Example demonstrating that it is just an alias:

typealias MyInt = Int

fun receiveInt(i: Int) {
    println("Received Int: $i")
}

fun main() {
    val num: MyInt = 10
    receiveInt(num) // You can pass MyInt where an Int is expected
}
What is an 'alias' and how to use it in Kotlin… - sobes.tech