Java中==和equals()方法之间的区别

在Java中,==和equals()method都用于检查两个变量或对象的相等性。

以下是==和equals()method之间的重要区别。

序号

==
equals()方法
1
类型
==是运算符。
equals()是Object类的一种方法。
2
比较
参考比较期间应使用==。==检查两个引用是否都指向相同的位置。
equals()方法应用于内容比较。equals()方法评估内容以检查是否相等。
2
目的
==运算符不能被覆盖。
如果没有equals()方法,则使用Object.equals()方法,否则可以重写该方法。

== vs equals方法的示例

JavaTester.java

public class JavaTester {
   public static void main(String args[]) {
      String s1 = new String("nhooo");
      String s2 = new String("nhooo");
      //参考比较
      System.out.println(s1 == s2);
      //内容比较
      System.out.println(s1.equals(s2));
      //整数类型
      System.out.println(10 == 10);
      //字符类型
      System.out.println('a' == 'a');
   }
}

输出结果

false
true
true
true