如何在 Kotlin 中比较两个字符串

Kotlin - String

Kotlin 语言允许多种方法来检查两个字符串是否相等。

  1. 使用比较运算符

在 Kotlin 中, == 用于检查两个对象的结构相等性。如果两个对象具有相同的值,它将返回 true:

fun main(args: Array<String>) {
    val str1: String = "Hello World"
    val str2: String = "Hello Kotlin"
    val str3: String = "Hello World"
    
    println(str1 == str2)   // returns false
    println(str1 == str3)   // returns true
}

=== 运算符是判断引用是否相等。如果两个变量指向同一个对象并且具有相同的值,则返回 true。

fun main(args: Array<String>) {
    val str1: String = "Hello World"
    val str2: String = "Hello World"
    val str3 = String("Hello World".toCharArray())
    println(str1 === str3)    // returns false
    println(str1 === str2)    // returns true
    println(str1 == str2)     // returns true
}

当使用 "" 初始化一个新的 String 对象时,它都会自动放入字符串池中。这样的字符串将始终引用同一个对象。

  1. 使用 equals() 函数

在 Kotlin 中比较两个字符串的另一种方法是使用 equals() 函数。 它区分大小写

将第二个参数设置为 true 是不区分大小写的字符串比较。

fun main(args: Array<String>) {
    val str1: String = "Hello Kotlin"
    val str2: String = "Hello World"
    val str3: String = "Hello Kotlin"
    val str4: String = "hello kotlin"

    println(str1.equals(str2))    // returns false
    println(str1.equals(str3))     // returns true
    println(str1.equals(str4, true))     // returns true
}

equals(other: Any?) 方法在 Any 类中实现,并且可以在任何扩展类中重写。

  1. 使用 compareTo() 函数

compareTo() 用于检查两个字符串的顺序。它返回 Int 值而不是 Boolean

  1. 如果两个字符串相等,则返回 0
  2. 如果字符串小于另一个字符串,则返回负数
  3. 如果字符串大于另一个字符串,则返回一个正数

此比较区分大小写。对于 Kotlin 中不区分大小写的字符串比较,将第二个参数设置为 true 。

fun main(args : Array<String>) {
    val str1: String = "Hello Kotlin"
    val str2: String = "hello kotlin"
  

    println(str1.compareTo(str2, false))    // returns -32
    println(str1.compareTo(str2, true))     // returns 0
}
# Kotlin 

作者:ITmob
来源:ITmob.cn
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×