区分 String == 运算符和 equals() 方法的 Java 程序
要理解此示例,您应该具备以下 Java 编程的知识:
- Java 字符串
- Java 字符串
equals()
示例 1:Java 程序区分 == 和 equals()
public class Main {
public static void main(String[] args) {
String name1 = new String("Hello");
String name2 = new String("Hello");
System.out.println("Check if two strings are equal");
// check if two strings are equal
// using == operator
boolean result1 = (name1 == name2);
System.out.println("Using == operator: " + result1);
// using equals() method
boolean result2 = name1.equals(name2);
System.out.println("Using equals(): " + result2);
}
}
输出
Check if two strings are equal
Using == operator: false
Using equals(): true
在上面的例子中,我们使用了 ==
运算符和 equals()
方法来检查两个字符串是否相等。这里,
==
检查对字符串对象的引用是否相等。这里,name1
和name2
是两个不同的引用。因此,它返回false
。equals()
检查字符串对象的内容是否相等。这里,两个name1
和name2
对象的内容都是Hello
。因此,它返回true
。
示例 2:区分 == 和 equals()
public class Main {
public static void main(String[] args) {
String name1 = new String("Hello");
String name2 = name1;
System.out.println("Check if two strings are equal");
// check if two strings are equal
// using == operator
boolean result1 = (name1 == name2);
System.out.println("Using == operator: " + result1);
// using equals() method
boolean result2 = name1.equals(name2);
System.out.println("Using equals(): " + result2);
}
}
输出
Check if two strings are equal
Using == operator: true
Using equals(): true
这里, name1
和 name2
两者都指向同一个对象。因此, name1 == name2
返回 true
。