为什么要重写tostring()方法?
又为什么要重写hashcode()。什么时候重写这些方法
又为什么要重写hashcode()。什么时候重写这些方法
解决方案 »
- 急求,jasperreport打印PDF的代码
- 求教网页静态化的问题
- 关于自定义maven目录结构的问题?(不使用推荐目录)
- hibernate set之后发生的事情!!
- struts,spring,hibernate下oracle9i的c3p0配置问题
- 关于javamail的问题
- struts里面<html:text ...value=>的疑问??????????在线等...
- 请问谁用过castor和jdom?
- 能用JAVA把WORD文档转为TXT或是直接写入XML文件吗?具体如何作呢?谢谢!
- 我是java后台端,跟安卓端之间交互数据产生了一些问题
- mySQL序列自增长问题
- jquery get方法执行完,回调函数不执行!!
所有java的类的父类是java.lang,在这个类里面有一个tostring函数是用来显示一些关于这个对象的hashcode等相关信息,当你要显示一个对象的时候,系统会自动调用这个对象的tostring方法,而它显示的都是一些系统数据,例如hashcode。如果你想显示你想要的东西,那么就应该重写这个类,把这个函数给覆盖了,那么系统就会调用你写的tostring方法,可以显示你想要的方法
那什么时候需要重写这2个方法呢:
一个类对象作为参数传入到System.out.println()中时会调用这个对象的toString()方法,如果没有重写toString()方法的话,调用的就是Object类的toString()方法,那么输出信息没有实际意义。还有在debug时候中也会用到这个方法,但作用不大。
调用对象的equals()方法时会调用hashcode()这个方法,如果不重写hashcode()的话一般达不到想要的效果