跳到主要内容

Java程序区分String == 运算符和equals()方法

要理解这个示例,你需要了解以下 Java 编程 主题:

示例 1:Java 程序区分 == 和 equals()

class Main {

public static void main(String[] args) {

String name1 = new String("Programiz");
String name2 = new String("Programiz");

System.out.println("检查两个字符串是否相等");

// 使用 == 运算符检查两个字符串是否相等
boolean result1 = (name1 == name2);
System.out.println("使用 == 运算符: " + result1);

// 使用 equals() 方法
boolean result2 = name1.equals(name2);
System.out.println("使用 equals(): " + result2);
}
}

输出

检查两个字符串是否相等
使用 == 运算符: false
使用 equals(): true

在上面的示例中,我们使用了 == 运算符和 equals() 方法来检查两个字符串是否相等。这里,

  • == 检查两个字符串对象的引用是否相等。这里,name1name2 是两个不同的引用。因此,它返回 false
  • equals() 检查两个字符串对象的内容是否相等。这里,对象 name1name2 的内容都是相同的 Programiz。因此,它返回 true

示例 2:区分 == 和 equals()

class Main {

public static void main(String[] args) {

String name1 = new String("Programiz");
String name2 = name1;

System.out.println("检查两个字符串是否相等");

// 使用 == 运算符检查两个字符串是否相等
boolean result1 = (name1 == name2);
System.out.println("使用 == 运算符: " + result1);

// 使用 equals() 方法
boolean result2 = name1.equals(name2);
System.out.println("使用 equals(): " + result2);
}
}

输出

检查两个字符串是否相等
使用 == 运算符: true
使用 equals(): true

这里,name1name2 都引用了同一个对象。因此,name1 == name2 返回 true