示例1:Java程序区分==和equals()
class Main {
public static void main(String[] args) {
String name1 = new String("Programiz");
String name2 = new String("Programiz");
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的内容都是相同的Programiz。因此,它返回true
。
示例2:区分==和equals()
class Main {
public static void main(String[] args) {
String name1 = new String("Programiz");
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
。