Kotlin标准库:实用函数

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次
}

这些函数通过减少样板代码提升开发效率,建议结合具体场景灵活选用。

相关推荐
Ivanqhz3 分钟前
NFM(神经因子分解机)
开发语言·javascript·人工智能·算法·蓝桥杯
Coffeeee10 分钟前
搞Android的怎么可能搞不懂Context Engineering?
android·人工智能·ai编程
Carson带你学Android16 分钟前
Gemini Nano 开发实战:让你的App轻松拥有端侧 AI 功能
android·ai编程
yxlalm41 分钟前
2.java秒杀项目第二课-后端登录功能
java·开发语言
光学补偿1 小时前
文件IO的前世今生
开发语言·学习·面试·java-ee
TDengine (老段)2 小时前
TDengine SMA 索引 — 块级/文件级统计索引
android·大数据·服务器·数据库·人工智能·时序数据库·tdengine
玖玥拾2 小时前
C# 语言进阶(十三)网络 DLL 库分层设计
服务器·开发语言·网络·网络协议·c#
2601_949816352 小时前
C++内存对齐与结构体填充深度精讲:底层规则、内存裁剪、适配优化与工程避坑
开发语言·arm开发·c++
心中有国也有家2 小时前
AtomGit Flutter 鸿蒙客户端: AnimatedScale 与 AnimatedContainer 联合实战
android·javascript·flutter·华为·harmonyos
浩瀚地学2 小时前
【面试算法笔记】0105-数组-螺旋矩阵
java·开发语言·笔记·算法·面试