Kotlin由JetBrains公司于2011年发布,2016年发布1.0版本。它运行在JVM上,与Java完全互操作,设计目标是更简洁、更安全、更表达力的Java替代品。
2017年,Google宣布Kotlin成为Android官方开发语言。2019年,Google进一步宣布Android开发“Kotlin优先”。
// Kotlin代码示例
// 数据类
data class User(val name: String, val age: Int, val email: String? = null)
// 扩展函数
fun String.isEmail(): Boolean = contains("@") && contains(".")
// 空安全
fun getEmailLength(user: User?): Int {
return user?.email?.length ?: 0 // Elvis运算符处理null
}
// 协程
import kotlinx.coroutines.*
suspend fun fetchData(): String {
delay(1000) // 非阻塞延迟
return "Data"
}
fun main() = runBlocking {
val results = coroutineScope {
val data1 = async { fetchData() }
val data2 = async { fetchData() }
listOf(data1.await(), data2.await())
}
println(results)
// 使用集合函数式操作
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val evenSquares = numbers
.filter { it % 2 == 0 }
.map { it * it }
println(evenSquares)
// 使用when表达式(类似switch但更强大)
fun describe(x: Any) = when (x) {
is Int -> "Integer: $x"
is String -> "String: $x"
else -> "Unknown type"
}
}
// 密封类
sealed class Result<out T> {
data class Success<T>(val data: T) : Result<T>()
data class Error(val message: String) : Result<Nothing>()
}
Kotlin的特点:
equals、hashCode、toString、copy