专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java object类的理解,看完什么都懂了

Java object类的理解,看完什么都懂了

更新时间:2020-05-13 15:03:07 来源:动力节点 浏览1791次

在java开发学习中所有类都直接或间接扩展java.lang.Object类。这个类定义了很多有用的方法,而且你可以根据需求来重写这些方法。关于Java中Object类的一些疑惑,看完你就知道了

Java object类的理解,看完什么都懂了

1、toString方法

toString方法的作用是返回对象的文本表示形式。Object类中的toString方法返回的字符串由对象所属的类名和对象的十六进制形式哈希码(由hashCode方法计算得到,本章节稍后会介绍)组成。这个默认的实现方式提供了对象的类型和标识两个基本信息,但一般并没什么用。

2、equals方法

如果要测试两个不同的对象是否相等,必须使用equals方法。任何类都能覆盖equals方法,定义专用的相等比较方式。Object.equals方法直接使用==运算符,只有两个对象是同一个对象时,才判定二者相等。

3、hashCode方法

Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值。如果集合中已经存在一万条数据或者更多的数据,如果采用equals方法去逐一比较,效率必然是一个问题。

此时hashCode方法的作用就体现出来了,当集合要添加新的对象时,先调用这个对象的hashCode方法,得到对应的hashcode值,实际上在HashMap的具体实现中会用一个table保存已经存进去的对象的hashcode值,如果table中没有该hashcode值,它就可以直接存进去,不用再进行任何比较了;

4、hashCode和equal方法

hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的;如果两个对象相同,就是适用于equals(java.lang.Object)方法,那么这两个对象的hashCode一定要相同;如果对象的equals方法被重写,那么对象的hashCode也尽量重写,并且产生hashCode使用的对象,

5、Comparable::compareTo方法

如果一个类实现了Comparable接口,就可以比较一个实例是小于、大于还是等于另一个实例。这也表明,实现Comparable接口的类可以排序。因为compareTo方法不在Object类中声明,所以由每个类自行决定实例能否排序。如果能排序就定义compareTo方法,实现实例排序的方式。compareTo方法返回一个int类型的值,这个值需要进一步说明。如果当前对象(this)小于传入的对象,compareTo方法应该返回一个负数;如果两个对象相等,应该返回0;如果当前对象大于传入的对象,应该返回一个正数。

Java object类的理解,看完什么都懂了

以上就是动力节点java培训机构的小编针对“Java object类的理解,看完什么都懂了”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

Java技术相关教程

JavaObject类:http://www.bjpowernode.com/tutorial_java_advance/606.html

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>