首页文章正文

equals方法比较的是什么,java重写equals方法

equals方法用于检测一个对象是否等于另外一个对象

equals方法比较的是什么,java重写equals方法

19}20//重写Object类中的equals方法(比较两个对象的值是否相等)21publicbooleanequals(Object obj){22//为了提高效率:如果两个内存地址相等,那么一定是指向同一个对内存中的对象,就写在前面最初接触java的时候,都会有涉及equals和==的区别,最经典的案例就是用String类型的数据作类比。最常见的说法就是:equals比较的是值,=比较的是引用地址。首先这种说法是错误

因为equals这个方法是Object,所以我们首先查看一下Object对与此方法的解释:Objec类equals方法(源码): publicbooleanequals(Object obj){ return(this== obj);Object类里的equals方法比较的是地址,所以我写的这个类比较的也是地址。

==比较的是地址,而equals是根据方法提供的逻辑来进行比较,如果要比较的类没有提供equals方法重写,那么object的默认equals方法就是==操作符,就是说equals的默认实现是比较地址。接接下来说==和equals,==的意思就是都是比较是否指向堆同一个对象,这个不会变。在Object里equals 是这样的public boolean equals(Object obj) { return (this == obj); } 没错,是一

Java中equals方法比较的是什么?Java中equals⽅法⽐较的是什么?我们知道每当我们新建⼀个类的时候,如果没有指明⽗类,那么他默认继承了Object类。如果你没有重写Object类的首先的区别是,equals 是方法,而== 是操作符;对于基本类型的变量来说(如short、int、long、float、double),只能使用== ,因为这些基本类型的变量没有equals

后台-插件-广告管理-内容页尾部广告(手机)

标签: java重写equals方法

发表评论

评论列表

灯蓝加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号