Kotlin 比较字符串

在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' 不相等。

使用compareTo()扩展函数比较字符串

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()函数比较两个字符串。