== 和 equals的区别

==是一个操做符,通常用来比较基本类型。比较对象的时候通常比较的是一个地址值,地址值不一样则返回false。 而equals则是一个方法,比较的是对象的值。通常的equals使用hashCode来进行比较,返回相同的数字值的时候则返回true,不然是true。 由于equals是一个方法,因此能够重写。咱们通常重写equals方法的时候,都跟着重写hashCode方法。 有关String类型(字符串)的比较有一些特别 String a = "abc"; String b ="abc"; a==b true a.equals(b) true String c = new String("abc"); String d = new String("abc"); c==d false c.equals(d) true对象