JavaSE之Object类

目录

Object类的概述

Object类中常用方法介绍

1.hashCode()方法

 2.getClass()方法

3.toString()方法

4.equals()方法


Object类的概述


Object类是类层次结构的根类,每个类都使用Object作为超类。

所有对象(包括数组)都实现了Object类的方法。


Object类中常用方法介绍


1.hashCode()方法


语法:

object.hashCode()   //返回对象的哈希码值

哈希值是根据哈希算法计算出来的一个值,该值与地址值有关,但不是实际的值。可理解为地址值。

作用:

hashCode()方法主要用来在集合中实现快速查找等操作,也可以用于对象的比较。

规定:

  • 在同一个应用程序执行期间,对同一个对象调用hashCode(),如果equals()比较的信息不曾被改动过,必须返回相同的整数结果。同一个应用程序在不同执行期所得到的调用结果无需一致。
  • 如果两个对象被equals()方法视为相等,对这两个对象调用hashCode()方法时必须获得相同的整数结果。
  • 如果两个对象被equals()方法视为不相等,对这两个对象调用hashCode()方法不必产生不同的整数结果。

总结:

如果两个对象相同,那么它们的hashCode值一定要相同;如果两个对象的hashCo值相同,它们并不一定相同。

代码实例如下:

 以上程序执行结果为:

 上面代码中,因为String和ArrayList类都继承了Object,所以可以直接使用hashCode()方法。

如果两个对象相等,那么它们的哈希值也相等。代码示例如下:

 执行结果为:


 2.getClass()方法


语法:

object.getClass()

作用:

获取对象运行时对象的类。

代码实例如下:

 以上代码执行结果为:


3.toString()方法


语法:

object.toString()

作用:

toString()方法是Object类中定义的一个重要方法,是对象的字符串的表现形式,返回值是String类型,用于描述当前对象的有关信息。

特点:

Object类中实现的toString()方法是返回当前对象的类型和内存地址信息,但在一些子类中进行了重写,也可以根据需要在用户自定义类型中重写toString()方法,来返回更适用的信息。

除显示调用对象的toString()方法外,在进行String与其他类型数据的连接操作时,会自动调用toString()方法。

调用toString()方法的默认返回格式为:对象的class名称 + @ + hashCode的十六进制字符串

代码实例如下:

 以上代码执行结果为:


4.equals()方法


语法:

object.equals()

public boolean equals(Object obj)

作用:

检测一个对象是否等价与另外一个对象。

在Java中,数据等价的基本含义是指两个数据的值相等。在通过equals()和"=="进行比较的时候,引用类型数据比较的是引用,即内存地址,基本数据类型比较的是值。

注意:

  • equals()方法只能比较引用类型,"=="可以比较引用类型和基本类型。
  • 当用equals方法进行比较时,对类File、String、Date及包装类来说,是比较类型及内容而不考虑引用的是否是同一个实例。
  • 用"=="进行比较时,符号两边的数据类型必须一致(能自动转换的数据类型除外),否则编译出错,而equals()方法比较的两个数据只要是引用类型即可。

代码实例如下:

 以上代码执行结果为:


最后,感谢大家的浏览,有能力的留个赞吧,万分感谢。


                          "生活不止眼前的苟且,还有诗和远方的田野。"

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

才疏学浅的小缘同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值