在Kotlin中比较字符串,以下是一些可能的方法:
1、使用“ ==”运算符
2、使用compareTo()扩展函数
我们将使用 = = 运算符来比较 Kotlin 的两个字符串。根据 Kotlin 的 Equality 文档,= = 操作符用于结构相等。
在 Kotlin语言中: a==b 被隐式转换为 a?.equals(b) ?: (b === null)
确保两个值a和b均为字符串类型。 如果不是字符串,那么需要在比较之前将它们转换为字符串。
/**
* Kotlin示例,比较两个字符串是否相等*/
fun main(args: Array<String>) {
var a: String = "kotlin is easy"
var b: String = "kotlin is" + " easy"
if(a==b){
println("字符串 '$a' 和 '$b' 相等。")
} else {
println("字符串 '$a' 和'$b' 不相等。")
}
b = "Kotlin runs on JVM"
if(a==b){
println("字符串 '$a' 和 '$b' 相等。")
} else {
println("字符串 '$a' 和 '$b' 不相等。")
}
}
输出结果:
字符串 'kotlin is easy' 和 'kotlin is easy' 相等。
字符串 'kotlin is easy' 和 'Kotlin runs on JVM' 不相等。
Kotlin为String提供了compareTo()扩展函数。
compareTo()函数的语法如下:
fun String.compareTo(
other: String,
ignoreCase: Boolean = false
): Int
其他:String 是强制性参数。ignoreCase 是可选的。
该函数返回整数值。
返回值 | 描述 |
---|---|
0 | 这两个字符串相等。 |
负整数 | 如果该字符串小于另一个字符串 |
正整数 | 如果该字符串大于另一个字符串 |
/**
* Kotlin示例,比较两个字符串
*/
fun main(args: Array<String>) {
var a: String = "apple"
var b: String = "apple"
var result = a.compareTo(b)
if(result==0){
println("字符串 '$a' 和 '$b' 相等")
} else if(result < 0){
println("'$a' 小于 '$b' 字符数.")
} else{
println("'$a' 小于 '$b' 字符数.")
}
b = "banana"
result = a.compareTo(b)
if(result==0){
println("字符串 '$a' 和 '$b' 相等")
} else if(result < 0){
println("'$a' 小于 '$b' 字符数.")
} else{
println("'$a' 小于 '$b' 字符数.")
}
// compareTo 忽略大小写,ignoreCase参数 为 true
a = "appLE"
b = "aPple"
println("\n忽略大小写...")
result = a.compareTo(b, true) // ignoreCase = true
if(result==0){
println("字符串 '$a' 和 '$b' 相等")
} else if(result < 0){
println("'$a' 小于 '$b' 字符数.")
} else{
println("'$a' 小于 '$b' 字符数.")
}
}
输出结果:
字符串 'apple' 和 'apple' 相等
'apple' 小于 'banana' 字符数.
忽略大小写...
字符串 'appLE' 和 'aPple' 相等
本章在示例程序的帮助下,学习使用 == 运算符 和 CompareTo()函数比较两个字符串。