Skip to main content

Type aliases in Kotlin

With type aliases, we can give a alias to other type. It's ideal for giving a name to function types like (String) -> Boolean or generic type like Pair<Person, Person>.

Type aliases support generics. An alias can replace a type with generics and an alias can be generics.

Function type

typealias StringValidator = (String) -> Boolean
typealias Reductor<T, U, V> = (T, U) -> V

Generic type

typealias Parents = Pair<Person, Person>
typealias Accounts = List<Account>

Syntax

  • typealias alias-name = existing-type

Remarks

Type aliases is a feature of the compiler. Nothing is added in the generated code for the JVM. All aliases will be replaced by the real type.