当前位置: 首页> 教育> 培训 > Object类——toString方法和equals方法

Object类——toString方法和equals方法

时间:2025/8/29 0:35:33来源:https://blog.csdn.net/2302_80521088/article/details/139150497 浏览次数:2次

前言:

在java中,所有类都是有继承关系存在的,都默认继承Object类。当一个类继承了其他父类,它并不会直接继承Object类,但是它的父类若是没有其他继承关系也会默认继承Object类,子类也可以继续调用Object类。

Object类提供着许多方法,但是这些方法在开发过程中往往不能满足程序员想要的功能,一般会对Object类的方法进行重写,以满足功能开发的多样性。

本文介绍常用的tostring方法和equals方法。

toString方法

我们之前打印出整个数组的方法是应用Arrays.ToString方法,若是打印一个对象则可以使用Object自带的toString方法(sout的形式用对象名即可打印)。

先来看一段代码:

我们先定义了一个学生类,可以看见,打印出来的是个地址,但是如果我加上toString方法:

就可以打印出来整个对象。为什么会这样呢?

前面说过,Object类自带的方法往往需要重写才能发挥程序员所需要的功能,我们先看看toString原方法:

默认打印对象时会调用该方法

由图可知,原先的方法是类名 + “@”+ 地址组成的(内部实现可自行查看,按住ctrl+点击),我们通过了重写的方法使得他能够打印出整个对象。当然,也可以在toString方法中任意返回其他值。

如:

equals方法

这是一个比较的方法,一般来说,在使用“==”时,会自动调用equals方法。对于俩测基本类型变量,比较的是值是否相同;对于俩测引用变量,比较的是地址是否相同。如果想要比较对象的内容是否相同,则必须重写该equals方法,否则会按照默认的地址比较方法比较。

equals方法内部:

返回值是boolean类型的,使用引用中的地址进行比较,默认使用“==”来比较时会调用该方法

这是包含地址和基本数据类型的比较,我们可以重写此类方法,检测对象内容是否完全相同:

例如写了三个比较方法,我们使用第三个比较方法,则可得:

equals提供了许多重写方法,我们也可以自定义重写方法,对比较相同对象时提供方便。

总结:

使用方法:类型.equals(类型)

只使用数据类型变量或只比较地址的话直接使用“==”

若是想比较字符串变量或者其他的引用变量则使用equals方法

若想比较对象的属性值时则必须重写equals方法并且使用

关键字:Object类——toString方法和equals方法

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: