当先锋百科网

首页 1 2 3 4 5 6 7

在Java编程中,有两个比较运算符可以用来比较两个对象: “==”和“equals()”方法。虽然这两个运算符看起来很相似,但它们实际上是有很大区别的。

// =="=="运算符判断两个对象是否相等
String str1 = "Hello World";
String str2 = "Hello World";
if (str1 == str2) {
System.out.println("str1 and str2 are the same object");
}
else {
System.out.println("str1 and str2 are different objects");
}

在这个例子中,我们创建了两个相同的字符串。 如果我们使用“==”运算符来比较这两个对象,那么输出语句将会告诉我们这两个对象相同。 原因是这两个字符串使用了相同的对象引用。

// equals方法比较两个对象内容是否相等
String str1 = "Hello World";
String str2 = new String("Hello World");
if (str1.equals(str2)) {
System.out.println("str1 and str2 have the same value");
}
else {
System.out.println("str1 and str2 have different values");
}

这个例子使用了“equals()”方法来比较两个字符串。 如果这两个字符串的内容相同,那么输出语句将会告诉我们它们有相同的值。

因此,要记住: “==”运算符比较的是两个对象的引用地址,如果这两个引用指向同一个对象,那么它们是相等的。 而“equals()”方法比较的是两个对象的内容,如果它们的内容相同,那么它们是相等的。