跳到主要内容

Kotlin程序比较字符串

示例1:比较两个字符串

fun main(args: Array<String>) {

val style = "Bold"
val style2 = "Bold"

if (style == style2)
println("相等")
else
println("不相等")
}

当运行程序时,输出结果将为:

相等

在上面的程序中,我们有两个字符串 stylestyle2。我们简单地使用等号 (==) 来比较这两个字符串,它比较值 BoldBold 并打印 相等

示例2:使用 equals() 比较两个字符串

fun main(args: Array<String>) {

val style = "Bold"
val style2 = "Bold"

if (style.equals(style2))
println("相等")
else
println("不相等")
}

当运行程序时,输出结果将为:

相等

在上面的程序中,我们有两个字符串 stylestyle2,它们都包含相同的单词 Bold

正如你所看到的,我们使用了 equals() 方法来比较这两个字符串。与示例1一样,它比较值 BoldBold

示例3:使用 === 比较两个字符串(不起作用)

fun main(args: Array<String>) {

val style = buildString { "Bold" }
val style2 = buildString { "Bold" }

if (style === style2)
println("相等")
else
println("不相等")
}

当运行程序时,输出结果将为:

不相等

在上面的程序中,我们没有仅仅使用引号创建字符串,而是使用了一个辅助方法 buildString 来创建一个 String 对象。

我们没有使用 == 运算符,而是使用了 ===(引用相等运算符)来比较这两个字符串。此运算符比较 stylestyle2 是否实质上是相同的对象。

由于它们不是同一个对象,所以屏幕上打印出 不相等

示例4:比较两个字符串的不同方式

以下是Java中可能的字符串比较方式。

fun main(args: Array<String>) {

val style = buildString { "Bold" }
val style2 = buildString { "Bold" }

var result = style.equals("Bold") // true
println(result)

result = style2 === "Bold" // false
println(result)

result = style === style2 // false
println(result)

result = "Bold" === "Bold" // true
println(result)
}

当运行程序时,输出结果将为:

true
false
false
true

以下是等效的Java代码:Java程序:比较字符串