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 方法。