淘先锋技术网

首页 1 2 3 4 5 6 7

Java 中 equals 和 == 的区别

在 Java 开发中,equals 和 == 都是经常用到的两个操作符。但是,它们有着完全不同的含义,需要我们加以区分。

相等运算符 ==

public class Test {
public static void main(String args[]) {
int a = 10;
int b = 10;
if(a == b) {
System.out.println("a 等于 b");
} else {
System.out.println("a 不等于 b");
}
}
}

注意:相等运算符 == 比较的是两个变量的值是否相同。

equals 方法

public class Test {
public static void main(String args[]) {
String str1 = new String("ABC");
String str2 = new String("ABC");
if(str1.equals(str2)) {
System.out.println("str1 等于 str2");
} else {
System.out.println("str1 不等于 str2");
}
}
}

注意:equals 方法比较的是两个对象是否相等(即值相等)。当不同的对象有相同的值时,它们是相等的。

因此,在对基本数据类型进行比较时,应该使用相等运算符 ==;

在对引用数据类型进行比较时,应该使用 equals 方法。