Kotlin 标准库实用函数概览
Kotlin 标准库提供了一系列实用函数,简化集合操作、字符串处理、类型检查等常见任务。以下分类介绍常用功能:
集合操作
filter 根据条件筛选集合元素:
kotlin
val numbers = listOf(1, 2, 3, 4)
val evenNumbers = numbers.filter { it % 2 == 0 } // [2, 4]
map 对集合元素进行转换:
kotlin
val squared = numbers.map { it * it } // [1, 4, 9, 16]
groupBy 按条件分组:
kotlin
val words = listOf("apple", "banana", "cherry")
val byLength = words.groupBy { it.length } // {5=[apple], 6=[banana, cherry]}
字符串处理
substringBefore / substringAfter 截取字符串:
kotlin
val path = "user/profile/image.jpg"
val fileName = path.substringAfterLast("/") // "image.jpg"
split 分割字符串:
kotlin
val data = "Kotlin,Java,Python"
val languages = data.split(",") // ["Kotlin", "Java", "Python"]
类型检查与转换
is / as 类型检查和转换:
kotlin
fun printLength(obj: Any) {
if (obj is String) {
println(obj.length) // 智能转换为String
}
}
safeCast 安全转换:
kotlin
val obj: Any = "Hello"
val str: String? = obj as? String // 失败时返回null
作用域函数
let 对非空对象执行操作:
kotlin
val nullableString: String? = "Kotlin"
nullableString?.let { println(it.uppercase()) } // "KOTLIN"
run 在对象上下文中执行代码块:
kotlin
val result = "Hello".run {
length + substring(0, 2).length
} // 5 + 2 = 7
其他实用工具
takeIf / takeUnless 条件判断:
gitee.com/sadsadasdwe3/lidss5/issues/IJFDEJ
gitee.com/sadsadasdwe3/lidss5/issues/IJFDEB
gitee.com/sadsadasdwe3/lidss5/issues/IJFDDW
gitee.com/sadsadasdwe3/lidss5/blob/master/dskds.md
gitee.com/sadsadasdwe3/lidss5/blob/master/louin.md
gitee.com/sadsadasdwe3/lidss5/blob/master/dssa111.md
gitee.com/sadsadasdwe3/lidss5/blob/master/asdjsa.md
gitee.com/sadsadasdwe3/lidss5/blob/master/dscdhs88.md
gitee.com/sadsadasdwe3/lidss5/blob/master/lojo896.md
gitee.com/sadsadasdwe3/lidss5/blob/master/sdhdu.md
gitee.com/sadsadasdwe3/lidss5/blob/master/lodf33.md
gitee.com/sadsadasdwe3/lidss5/blob/master/dkih.md
gitee.com/sadsadasdwe3/lidss5/blob/master/dsijsi9.md
gitee.com/sadsadasdwe3/lidss5/blob/master/sdfn.md
gitee.com/sadsadasdwe3/lidss5/blob/master/sadas770.md
gitee.com/sadsadasdwe3/lidss5/blob/master/beijing.md
gitee.com/sadsadasdwe3/lidss5/blob/master/esdds11.md
gitee.com/sadsadasdwe3/lidss5/blob/master/odjso.md
kotlin
val number = 42
val even = number.takeIf { it % 2 == 0 } // 42
val odd = number.takeUnless { it % 2 == 0 } // null
repeat 重复执行操作:
kotlin
repeat(3) {
println("Hello") // 打印3次
}
这些函数通过减少样板代码提升开发效率,建议结合具体场景灵活选用。