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()
方法来检查两个字符串是否相等。这里,
==
检查两个字符串对象的引用是否相等。这里,name1
和name2
是两个不同的引用。因此,它返回false
。equals()
检查两个字符串对象的内容是否相等。这里,对象name1
和name2
的内容都是相同的 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
这里,name1
和 name2
都引用了同一个对象。因此,name1 == name2
返回 true
。