== 和 equals的相同和区别

  1、两个对象object的引用进行 == 时(object1 == object2),只有这两个引用指向的对象是同一个对象时,才是true,否则为false。 所以两个new的对象进行 == 比较

    时,永远为false,因为这两个new出来的对象在堆内存中是两个不同的对象,他们的引用指向各自的不同的对象,永远不会指向同一个对象。
  2、两个对象默认equals的原则与 == 相同,但是每个类可以重写equals方法,根据自己重新定义的equals方法使两个对象equals结果为true,这个是与 == 本质的不同。 ==

     是无法重写的。
  3、java自己提供了如String、Date等一些类自己的equals方法,使他们进行两个引用对比时,就算这两个引用不是指向同一个对象,其equals结果也为true

posted @ 2015-12-03 15:17  JayJayJay  阅读(240)  评论(0)    收藏  举报