黑马程序员技术交流社区
标题:
object中常用的方法,很有用哦
[打印本页]
作者:
金_鑫
时间:
2012-8-11 17:18
标题:
object中常用的方法,很有用哦
{:2_41:}
1.toString(): 它的功能是以字符串形式返回当前对象的有关信息,其返回值是调用它的对象的类名加十六进制哈希码。
2.equals():equals方法强调比较的值的是否相等 ,而==比较的是变量是否相等,强调的是地址,首地址不同存放的值就不同。
3.finalize():由于在Object()类的以下所有子类中的对象都是在java的垃圾回收前自动调用此Object的finalize方法。 所以可以重写这样运行的过程可以看的更清楚。
4.hashCode():hashCode()方法只看地址,两个对象或者引用的hashCode()是否相同,就是看这些对象或引用的地址是否相同。
作者:
来明坤
时间:
2012-8-11 18:45
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 方法功能是以字符串形式返回当前对象的有关信息。
* ^ 其返回值是调用它的对象的类名加十六进制哈希码。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2