A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 金_鑫 中级黑马   /  2012-8-11 17:18  /  1564 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

{:2_41:}
1.toString(): 它的功能是以字符串形式返回当前对象的有关信息,其返回值是调用它的对象的类名加十六进制哈希码。
2.equals():equals方法强调比较的值的是否相等  ,而==比较的是变量是否相等,强调的是地址,首地址不同存放的值就不同。
3.finalize():由于在Object()类的以下所有子类中的对象都是在java的垃圾回收前自动调用此Object的finalize方法。 所以可以重写这样运行的过程可以看的更清楚。
4.hashCode():hashCode()方法只看地址,两个对象或者引用的hashCode()是否相同,就是看这些对象或引用的地址是否相同。

评分

参与人数 1黑马币 +30 收起 理由
包晗 + 30 谢谢分享

查看全部评分

1 个回复

倒序浏览
1、equals()方法:
*        ^ equals方法强调比较的值的是否相等
*          ==强调对象的地址是否相同
     *        ^ s1 和 s2的值都保存在对内存中
*          s3 和 s4的值都保存在占内存的字符串缓冲池中,缓存池的分配原则是按值是否相同来分配。
*        ^ 如果值相同则分在一起,指向他们的引用的hashCode()值也相同。如果不同,则不分在一起,也就不==了。
     *          所以s3和s4是相同的两个引用,而s5和他们俩内存地址不同,hashCode值当然也不同了
*  
* 2、finalize()方法:
*          由于在Object()类的以下所有子类中的对象都是在java的垃圾回收前自动调用此Object类(父类)的此finalize方法。
*          所以可以重写这样运行的过程可以看的更清楚。
*  
* 3、hashCode()方法:
*        ^ hashCode()方法的返回值调用它的对象的十进制哈希码
     *          (不同的对象必有不同的hashCode返回值,但是如果两个引用的值相同则hashCode返回值相同,
     *           因为引用不是对象,不是new出来的。)
*        ^ 总结:两个对象或者引用的hashCode()是否相同,就是看这些对象或引用的地址是否相同,
*           hashCode()方法只看地址。
     *        ^ Integer类的静态方法toHexString方法作用是将十进制整型数转化成十六进制数
*  
* 4、toString()方法:
*        ^ toString 方法功能是以字符串形式返回当前对象的有关信息。
*        ^ 其返回值是调用它的对象的类名加十六进制哈希码。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马