HOWTO · Java

Java 中的 if 语句比较字符串

通过 Java 中的 if 语句比较字符串。

本页内容

在本指南中,我们将讨论 Java 中的 if 语句字符串比较。比较两个字符串通常有三种方法。你需要了解这些操作的基础知识并找出你要比较的内容(内容、引用或字符串差异)。让我们更深入地了解一下。

使用 == 运算符将字符串与 Java if 语句进行比较

当我们使用 == 运算符通过 if 语句比较两个字符串时,我们比较这些字符串的引用编号,但你会注意到它与比较内容的工作方式相同。如果有两个内容相同的字符串,它会将它们显示为相等。为什么?因为 Java 的编译器已经足够成熟,可以将两个内容相同的字符串存储在同一个内存中。

使用 equal() 函数将字符串与 Java if 语句进行比较

通过 equal() 函数,我们可以比较两个字符串的内容。它将查看内容是否相似。它区分大小写,但你也可以通过使用 equalsIgnoreCase() 函数来忽略区分大小写。

使用 compareTo() 函数将字符串与 Java if 语句进行比较

在这个函数中,我们得到了两个字符串之间的差异。我们根据每个字符的 Unicode 值按字典顺​​序比较它们。如果两个字符串相等,你将获得 0 值,如果字符串小于另一个字符串,你将获得小于 0 值,反之亦然。

看看下面的不言自明的代码。

public class Main {
  public static void main(String[] args) {
    String str1 = "jeff";
    String str2 = "jeff";
    String str3 = new String("jeff"); // to declare
    String str10 = new String("jeff");
    System.out.println("-----------------Using == Operator ----------------");
    // using == opreater use for Refrence Comapring instead of content comparison.
    if (str1
        == str2) { // equal and if Conditon True because both have same Refrence Memory address.
      System.out.println("Str1 And Str2 Equal");
    }
    if (str1
        == str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
      System.out.println("Str1 and Str3 are equals");
    }
    if (str10
        == str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
      System.out.println("Str10 and Str3 are equals");
    }

    System.out.println("-----------------Using .equal Method----------------");
    // Using .equals Method. for String Content Comparison.

    if (str1.equals(str2)) { // equal and if Conditon True because both have same string
      System.out.println("Str1 And Str2 Equal");
    }
    if (str1.equals(str3)) { // Equal If Condition true String have same Content.
      System.out.println("Str1 and Str3 are equals");
    }
    // compare two strings diffrence
    System.out.println("-----------------Using Compare Method----------------");
    // first string.toCompare(String2)

    System.out.println(str1.compareTo(str2));
  }
}

输出:

Output:
-----------------Using == Operator ----------------
Str1 And Str2 Equal
-----------------Using .equal Method----------------
Str1 And Str2 Equal
Str1 and Str3 are equals
-----------------Using Compare Method----------------
0