Kotlin基础类型扩展函数使用指南

Kotlin 基础类型的扩展函数解释与代码示例

1. 数字类型(包括 Int、Long、Short、Byte、Float、Double)

数字类型的扩展函数主要用于数值转换、范围约束和条件检查。以下是一些常见扩展函数:

  • coerceIn(min: T, max: T): T
    含义 :将当前值约束在指定范围内。如果值小于 min,则返回 min;如果大于 max,则返回 max;否则返回原值。
    代码示例

    kotlin 复制代码
    fun main() {
        val num = 10
        println(num.coerceIn(5, 15)) // 输出: 10 (在范围内)
        println(num.coerceIn(20, 30)) // 输出: 20 (小于 min)
    }
  • coerceAtLeast(min: T): T
    含义 :确保当前值不小于 min。如果值小于 min,则返回 min;否则返回原值。
    代码示例

    kotlin 复制代码
    fun main() {
        val num = 5.5
        println(num.coerceAtLeast(10.0)) // 输出: 10.0 (小于 min)
        println(num.coerceAtLeast(3.0)) // 输出: 5.5 (大于 min)
    }
  • coerceAtMost(max: T): T
    含义 :确保当前值不大于 max。如果值大于 max,则返回 max;否则返回原值。
    代码示例

    kotlin 复制代码
    fun main() {
        val num = 100L
        println(num.coerceAtMost(50L)) // 输出: 50 (大于 max)
        println(num.coerceAtMost(200L)) // 输出: 100 (小于 max)
    }
  • toBigDecimal(): BigDecimal
    含义 :将当前数字转换为 BigDecimal 类型,用于高精度计算。
    代码示例

    kotlin 复制代码
    import java.math.BigDecimal
    fun main() {
        val num = 123.45f
        val bigDec = num.toBigDecimal()
        println(bigDec) // 输出: 123.45
    }
  • times(other: T): T (操作符扩展,对应 *
    含义 :执行乘法操作。但注意,这是操作符函数,通常通过 * 调用。
    代码示例

    kotlin 复制代码
    fun main() {
        val a = 5
        val b = 3
        println(a * b) // 输出: 15 (等同于 a.times(b))
    }
2. Char 类型

Char 类型的扩展函数用于字符转换、分类和检查。

  • toUpperCase(): Char
    含义 :将字符转换为大写形式。如果字符无大写形式,则返回原字符。
    代码示例

    kotlin 复制代码
    fun main() {
        val char = 'a'
        println(char.toUpperCase()) // 输出: A
        println('1'.toUpperCase()) // 输出: 1 (数字无大写)
    }
  • toLowerCase(): Char
    含义 :将字符转换为小写形式。如果字符无小写形式,则返回原字符。
    代码示例

    kotlin 复制代码
    fun main() {
        val char = 'B'
        println(char.toLowerCase()) // 输出: b
        println('@'.toLowerCase()) // 输出: @ (符号无小写)
    }
  • isDigit(): Boolean
    含义 :检查字符是否为数字(0-9)。
    代码示例

    kotlin 复制代码
    fun main() {
        println('5'.isDigit()) // 输出: true
        println('a'.isDigit()) // 输出: false
    }
  • isLetter(): Boolean
    含义 :检查字符是否为字母(a-z, A-Z)。
    代码示例

    kotlin 复制代码
    fun main() {
        println('x'.isLetter()) // 输出: true
        println('7'.isLetter()) // 输出: false
    }
3. Boolean 类型

Boolean 类型的扩展函数主要用于逻辑操作和条件处理。

  • and(other: Boolean): Boolean
    含义 :执行逻辑与操作。等同于 && 操作符,但作为扩展函数提供。
    代码示例

    kotlin 复制代码
    fun main() {
        val a = true
        val b = false
        println(a.and(b)) // 输出: false
        println(a && b)   // 输出: false (等效方式)
    }
  • or(other: Boolean): Boolean
    含义 :执行逻辑或操作。等同于 || 操作符,但作为扩展函数提供。
    代码示例

    kotlin 复制代码
    fun main() {
        val a = true
        val b = false
        println(a.or(b)) // 输出: true
        println(a || b)  // 输出: true (等效方式)
    }
  • not(): Boolean
    含义 :执行逻辑非操作。等同于 ! 操作符。
    代码示例

    kotlin 复制代码
    fun main() {
        val bool = true
        println(bool.not()) // 输出: false
        println(!bool)     // 输出: false (等效方式)
    }
4. String 类型

String 类型的扩展函数非常丰富,用于字符串操作、转换和检查。

  • capitalize(): String
    含义 :将字符串的首字母大写,其余字母小写。
    代码示例

    kotlin 复制代码
    fun main() {
        val str = "hello world"
        println(str.capitalize()) // 输出: Hello world
    }
  • decapitalize(): String
    含义 :将字符串的首字母小写,其余字母保持不变。
    代码示例

    kotlin 复制代码
    fun main() {
        val str = "Hello World"
        println(str.decapitalize()) // 输出: hello World
    }
  • toIntOrNull(): Int?
    含义 :尝试将字符串转换为 Int。如果转换失败(如非数字),则返回 null。
    代码示例

    kotlin 复制代码
    fun main() {
        println("123".toIntOrNull()) // 输出: 123
        println("abc".toIntOrNull()) // 输出: null
    }
  • split(vararg delimiters: String): List<String>
    含义 :根据分隔符拆分字符串为列表。
    代码示例

    kotlin 复制代码
    fun main() {
        val str = "apple,banana,orange"
        val parts = str.split(",")
        println(parts) // 输出: [apple, banana, orange]
    }
  • isBlank(): Boolean
    含义 :检查字符串是否为空或只包含空白字符(如空格、制表符)。
    代码示例

    kotlin 复制代码
    fun main() {
        println("  ".isBlank())  // 输出: true
        println("text".isBlank()) // 输出: false
    }
  • startsWith(prefix: String, ignoreCase: Boolean = false): Boolean
    含义 :检查字符串是否以指定前缀开头。ignoreCase 参数控制是否忽略大小写。
    代码示例

    kotlin 复制代码
    fun main() {
        val str = "Kotlin"
        println(str.startsWith("Kot")) // 输出: true
        println(str.startsWith("kot", ignoreCase = true)) // 输出: true
    }
相关推荐
源码之家27 分钟前
基于python新闻数据分析可视化系统 Hadoop 新闻平台 爬虫 情感分析 舆情分析 可视化 Django框架 vue框架 机器学习 大数据毕业设计✅
大数据·爬虫·python·数据分析·毕业设计·情感分析·新闻
IT油腻大叔31 分钟前
DeepSeek-多层注意力计算机制理解
python·深度学习·机器学习
小呀小萝卜儿34 分钟前
2025-11-17 学习记录--Python-机器学习作业:项目1 - PM2.5预测
python·学习·机器学习
闲人编程40 分钟前
CPython与PyPy性能对比:不同解释器的优劣分析
python·算法·编译器·jit·cpython·codecapsule
kk哥88991 小时前
PyCharm 2025.1 是什么编程语言,如何安装
python·php
海拥1 小时前
基于 IPIDEA 的 SERP 结构化数据抽取与趋势监控的工程化实践
python
yivifu1 小时前
EPUB文件HTML批量修改避坑
python·epub·zipfile
B站_计算机毕业设计之家1 小时前
python手写数字识别系统 CNN算法 卷积神经网络 OpenCV和Keras模型 计算机视觉 (建议收藏)✅
python·深度学习·opencv·机器学习·计算机视觉·cnn
郝学胜-神的一滴1 小时前
Python高级编程技术深度解析与实战指南
开发语言·python·程序人生·个人开发
charlie1145141912 小时前
使用 Poetry + VS Code 创建你的第一个 Flask 工程
开发语言·笔记·后端·python·学习·flask·教程