首页编程equals(equal comparison)

equals(equal comparison)

编程之家2024-05-29108次浏览

一、equal和equals的区别

equals()是object的方法,所以只是适合对象,不适合于基本类型,equals()默认是用"=="比较两个对象的内存地址,如果想要比较两个对象的内容,要重写equals()方法才可。equal:是用来比较两个对象内部的内容是否相等的,由于所有的类都是继承自java.lang.Object类的,所以如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equal方法返回的却是==的判断,因此,如果在没有进行该方法的覆盖后,调用该方法是没有任何意义的。

equals(equal comparison)

二、equals什么意思

.equals()在Java中判断是否相等,与==的区别是.equals()只判断值是否相等,不管两者是否存在同一地址。而==则是判断值与存在地址都得相等

扩展资料:

由equals的源码可以看出这里定义的equals与==是等效的(Object类中的equals没什么区别),不同的原因就在于有些类(像String、Integer等类)对equals进行了重写,但是没有对equals进行重写的类(比如我们自己写的类)就只能从Object类中继承equals方法,其equals方法与==就也是等效的,除非我们在此类中重写equals。

另外,"=="比"equals"运行速度快,因为"=="只是比较引用。

三、equals怎么用

Java中的类如果想要使用equals方法比较对象是否相等,需要实现equals方法。equals方法的原型如下:

publicbooleanequals(Objectobj)

equals(equal comparison)

实现equals方法需要遵循以下原则:

1、自反性:对于任意非null的x,x.equals(x)必须返回true。

2、对称性:对于任意非null的x和y,如果x.equals(y)返回true,那么y.equals(x)也必须返回true。

3、传递性:对于任意非null的x、y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)也必须返回true。

4、一致性:对于任意非null的x和y,只要equals的比较操作在对象中所用的信息没有被修改,多次调用x.equals(y)就会一致地返回true或者false。

5、对于任意非null的x,x.equals(null)必须返回false。

equals(equal comparison)
优酷 连接失败(为什么优酷总是连接失败)约瑟夫问题,约瑟夫公式