== 和 equals的相同和区别
1、两个对象object的引用进行 == 时(object1 == object2),只有这两个引用指向的对象是同一个对象时,才是true,否则为false。 所以两个new的对象进行 == 比较
时,永远为false,因为这两个new出来的对象在堆内存中是两个不同的对象,他们的引用指向各自的不同的对象,永远不会指向同一个对象。
2、两个对象默认equals的原则与 == 相同,但是每个类可以重写equals方法,根据自己重新定义的equals方法使两个对象equals结果为true,这个是与 == 本质的不同。 ==
是无法重写的。
3、java自己提供了如String、Date等一些类自己的equals方法,使他们进行两个引用对比时,就算这两个引用不是指向同一个对象,其equals结果也为true
浙公网安备 33010602011771号