加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

***object中的通用方法

发布时间:2020-12-15 07:21:07 所属栏目:Java 来源:网络整理
导读:1.equals:实现是比较两个对象的地址来确定对象是否相等,可重写,非常重要,在java中通过equals比较两个对象上是否相同(相等)。 2.(唯一用处就是在使用hashmap,set等容器时提高比较效率)hashcode()是一个对象的地址值产生的一串数字,未重写前可以唯一

1.equals:实现是比较两个对象的地址来确定对象是否相等,可重写,非常重要,在java中通过equals比较两个对象上是否相同(相等)。

2.(唯一用处就是在使用hashmap,set等容器时提高比较效率)hashcode()是一个对象的地址值产生的一串数字,未重写前可以唯一的标识一个对象,为什么要有这个方法的原因主要是使用hashmap、set时保证这两个容器内数据不重复。

hashmap:使用hashcode()返回的散列值通过散列函数计算映射到map中的某个位置,如果该位置有元素,则调用equals()方法比较是否相同,不相同则解决hash冲突,相同则舍弃。

set:同样道理,set不允许重复元素,利用hashcode解决。

hashcode可以重写。

对象的equals()方法返回true时,两个对象hashcode必须相同(因为存到set会有重复数据)。

hashcode相同对象不一定相同。

3.registerNative() 作用是将本地方法向虚拟机注册,这样当程序调用本地方法后,jvm才可以找到这些方法。

4.getclass()返回当前类的类对象,用于反射。

5.clone()拷贝一个对象的副本,是protect的,给子类重写,浅拷贝。

6.tostring()返回对象的字符串标识形式,方便打印,了解对象信息的。

7.wait(),wait(long) waitr(long,int)用于线程间通信,阻塞当前线程

8.notify/notifyall 唤醒wait的线程。

9.finalize()对象被回收前会调用这个方法,看能否起死回生。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读