== 和 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

猜你喜欢

转载自my.oschina.net/u/3045515/blog/1589827