# Kotlin 程序：比较字符串

> 原文： [https://www.programiz.com/kotlin-programming/examples/compare-strings](https://www.programiz.com/kotlin-programming/examples/compare-strings)

#### 在此程序中，您将学习在 Kotlin 中比较两个字符串。

## 示例 1：比较两个字符串

```kt
fun main(args: Array<String>) {

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

    if (style == style2)
        println("Equal")
    else
        println("Not Equal")
}
```

运行该程序时，输出为：

```kt
Equal
```

在上面的程序中，我们有两个字符串`style`和`style2`。 我们仅使用相等运算符（`==`）比较两个字符串，这会将值`Bold`与`Bold`进行比较，并输出`Equal`。

* * *

## 示例 2：使用`equals()`比较两个字符串

```kt
fun main(args: Array<String>) {

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

    if (style.equals(style2))
        println("Equal")
    else
        println("Not Equal")
}
```

运行该程序时，输出为：

```kt
Equal
```

在上面的程序中，我们有两个字符串`style`和`style2`都包含相同的单词`Bold`。

如您所见，我们已经使用`equals()`方法比较字符串。 与示例 1 相似，它将值`Bold`与`Bold`进行比较。

* * *

## 示例 3：使用`===`比较两个字符串（不起作用）

```kt
fun main(args: Array<String>) {

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

    if (style === style2)
        println("Equal")
    else
        println("Not Equal")
}
```

运行该程序时，输出为：

```kt
Not Equal
```

在上面的程序中，我们使用辅助方法`buildString`创建了`String`对象，而不是仅使用引号创建了字符串。

我们没有使用`==`运算符，而是使用了`===`（引用相等运算符）来比较字符串。 该运算符比较`style`和`style2`本质上是否是同一对象。

由于它们不是，因此`Not Equal`被打印在屏幕上。

* * *

## 示例 4：比较两个字符串的不同方法

这是在 Java 中可能进行的字符串比较。

```kt
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)
}
```

运行该程序时，输出为：

```kt
true
false
false
true
```

以下是等效的 Java 代码：[比较字符串的 Java 程序](/java-programming/examples/compare-strings "Java Program to compare strings")。