Kotlin扩展函数实战
学习如何使用扩展函数为现有类添加新功能,提升代码可读性和复用性。 · 难度:入门 · +15XP
扩展函数简介
扩展函数是Kotlin中一项强大的特性,允许你在不修改原始类的情况下,为类添加新的方法。其语法为:fun 接收者类型.函数名(参数列表): 返回类型 { ... }。
基本示例
假设你想为String类添加一个判断是否为有效邮箱的方法:
fun String.isValidEmail(): Boolean {
return this.contains("@") && this.contains(".")
}
fun main() {
val email = "user@example.com"
println(email.isValidEmail()) // true
}
扩展属性
除了函数,你还可以定义扩展属性:
val String.lastChar: Char get() = this[length - 1]
fun main() {
println("Kotlin".lastChar) // n
}
扩展函数与作用域
扩展函数是静态解析的,不会被子类覆盖。它们依赖于接收者的静态类型,而不是运行时类型。
| 特性 | 说明 |
|---|---|
| 静态解析 | 编译时决定调用哪个函数 |
| 可空接收者 | 可以在可空类型上定义扩展 |
| 第三方库 | 无需修改源码即可增强功能 |
练习提示
尝试为Int类编写一个扩展函数isEven(),判断整数是否为偶数。在starter code中补全代码。