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