Kotlin 基础类型的扩展函数解释与代码示例
1. 数字类型(包括 Int、Long、Short、Byte、Float、Double)
数字类型的扩展函数主要用于数值转换、范围约束和条件检查。以下是一些常见扩展函数:
-
coerceIn(min: T, max: T): T
含义 :将当前值约束在指定范围内。如果值小于min,则返回min;如果大于max,则返回max;否则返回原值。
代码示例:kotlinfun main() { val num = 10 println(num.coerceIn(5, 15)) // 输出: 10 (在范围内) println(num.coerceIn(20, 30)) // 输出: 20 (小于 min) } -
coerceAtLeast(min: T): T
含义 :确保当前值不小于min。如果值小于min,则返回min;否则返回原值。
代码示例:kotlinfun 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;否则返回原值。
代码示例:kotlinfun main() { val num = 100L println(num.coerceAtMost(50L)) // 输出: 50 (大于 max) println(num.coerceAtMost(200L)) // 输出: 100 (小于 max) } -
toBigDecimal(): BigDecimal
含义 :将当前数字转换为BigDecimal类型,用于高精度计算。
代码示例:kotlinimport java.math.BigDecimal fun main() { val num = 123.45f val bigDec = num.toBigDecimal() println(bigDec) // 输出: 123.45 } -
times(other: T): T(操作符扩展,对应*)
含义 :执行乘法操作。但注意,这是操作符函数,通常通过*调用。
代码示例:kotlinfun main() { val a = 5 val b = 3 println(a * b) // 输出: 15 (等同于 a.times(b)) }
2. Char 类型
Char 类型的扩展函数用于字符转换、分类和检查。
-
toUpperCase(): Char
含义 :将字符转换为大写形式。如果字符无大写形式,则返回原字符。
代码示例:kotlinfun main() { val char = 'a' println(char.toUpperCase()) // 输出: A println('1'.toUpperCase()) // 输出: 1 (数字无大写) } -
toLowerCase(): Char
含义 :将字符转换为小写形式。如果字符无小写形式,则返回原字符。
代码示例:kotlinfun main() { val char = 'B' println(char.toLowerCase()) // 输出: b println('@'.toLowerCase()) // 输出: @ (符号无小写) } -
isDigit(): Boolean
含义 :检查字符是否为数字(0-9)。
代码示例:kotlinfun main() { println('5'.isDigit()) // 输出: true println('a'.isDigit()) // 输出: false } -
isLetter(): Boolean
含义 :检查字符是否为字母(a-z, A-Z)。
代码示例:kotlinfun main() { println('x'.isLetter()) // 输出: true println('7'.isLetter()) // 输出: false }
3. Boolean 类型
Boolean 类型的扩展函数主要用于逻辑操作和条件处理。
-
and(other: Boolean): Boolean
含义 :执行逻辑与操作。等同于&&操作符,但作为扩展函数提供。
代码示例:kotlinfun main() { val a = true val b = false println(a.and(b)) // 输出: false println(a && b) // 输出: false (等效方式) } -
or(other: Boolean): Boolean
含义 :执行逻辑或操作。等同于||操作符,但作为扩展函数提供。
代码示例:kotlinfun main() { val a = true val b = false println(a.or(b)) // 输出: true println(a || b) // 输出: true (等效方式) } -
not(): Boolean
含义 :执行逻辑非操作。等同于!操作符。
代码示例:kotlinfun main() { val bool = true println(bool.not()) // 输出: false println(!bool) // 输出: false (等效方式) }
4. String 类型
String 类型的扩展函数非常丰富,用于字符串操作、转换和检查。
-
capitalize(): String
含义 :将字符串的首字母大写,其余字母小写。
代码示例:kotlinfun main() { val str = "hello world" println(str.capitalize()) // 输出: Hello world } -
decapitalize(): String
含义 :将字符串的首字母小写,其余字母保持不变。
代码示例:kotlinfun main() { val str = "Hello World" println(str.decapitalize()) // 输出: hello World } -
toIntOrNull(): Int?
含义 :尝试将字符串转换为 Int。如果转换失败(如非数字),则返回 null。
代码示例:kotlinfun main() { println("123".toIntOrNull()) // 输出: 123 println("abc".toIntOrNull()) // 输出: null } -
split(vararg delimiters: String): List<String>
含义 :根据分隔符拆分字符串为列表。
代码示例:kotlinfun main() { val str = "apple,banana,orange" val parts = str.split(",") println(parts) // 输出: [apple, banana, orange] } -
isBlank(): Boolean
含义 :检查字符串是否为空或只包含空白字符(如空格、制表符)。
代码示例:kotlinfun main() { println(" ".isBlank()) // 输出: true println("text".isBlank()) // 输出: false } -
startsWith(prefix: String, ignoreCase: Boolean = false): Boolean
含义 :检查字符串是否以指定前缀开头。ignoreCase参数控制是否忽略大小写。
代码示例:kotlinfun main() { val str = "Kotlin" println(str.startsWith("Kot")) // 输出: true println(str.startsWith("kot", ignoreCase = true)) // 输出: true }