Kotlin里的typealias关键字
typealias 是 Kotlin 里的一个关键字,用于为已有的类型创建新的别名。它本质上是给类型加个“昵称”,这样可以让代码更简洁、可读性更强,特别是在类型很长、很复杂的时候。
1、基本语法
typealias 别名 = 现有类型比如有一个很长的函数类型:
typealias ClickListener = (Int, String) -> Unit定义之后,ClickListener 就能用在任何地方代替原本的 (Int, String) -> Unit 类型。
2、主要用途
·简化类型书写。当某些类型特别复杂或者重复出现时,可以用别名让代码更加直观。
·隐藏具体实现。比如代码里想隐藏某个类的具体类型,或者未来可能会换类型,只需修改别名即可。
·更好地表达业务语义。有时候业务中用类型别名能更突出业务意义,例如:
typealias UserId = String
typealias Callback = () -> Unit3、使用场景举例
3.1、简化 Map 类型
typealias UserMap = Map<Int, String>
val users: UserMap = mapOf(1 to "Tom", 2 to "Jane")3.2、简化 Listener
typealias OnClick = (View) -> Unit
val buttonClick: OnClick = { view -> println("按钮被点击!") }3.3、与泛型搭配使用
typealias Predicate<T> = (T) -> Boolean
fun filter(predicate: Predicate<Int>) { /*...*/ }4、注意点
typealias 不会创建新类型,它只是一个别名。 编译器和运行时都把别名看做原类型。可用于类、接口、函数类型、泛型等各种类型。
typealias 是 Kotlin 代码可读性和可维护性的工具,面对复杂类型时尤其好用。用对了可以让团队代码风格更统一,业务意义更清晰。

