当前位置: 代码迷 >> J2EE >> 为何要重写tostring()方法
  详细解决方案

为何要重写tostring()方法

热度:613   发布时间:2016-04-22 01:01:53.0
为什么要重写tostring()方法?
为什么要重写tostring()方法?
又为什么要重写hashcode()。什么时候重写这些方法

------解决方案--------------------
没有一定要写toString().

一般toString()方法会应用在自己bean类中。根据需要 在重写的toString 方法中 组织自己想要显示的当前对象的信息。

比如按一定规则格式返回 所以属性的名称及值。
------解决方案--------------------
等你又需求的时候就需要重写。需求是多样的。。。
------解决方案--------------------
比如当某个对象和String相连的时候,有时候系统提供的toString不能满足要求,这个时候需要重写toString方法,来实现特定的功能,否则可能会打印引用地址之类的信息
------解决方案--------------------
我个人理解:重写toString是对对象打印输出的一种格式化。当你print一个对象是你需要这个对象在打印时展现的是什么形态你就把toString重写成你需要的返回形态。重写hashcode主要是为了规定对象之间的比较方式。如果你把对象存入hash集合,集合就会对对象的hashcode进行比较以区分两个对象是否是同一对象。
------解决方案--------------------
当进行输出操作,java会调用toString,当涉及到hash操作java会调用hashcode方法对返回值进行比较
------解决方案--------------------
我是新手,说的不算数哈。
所有java的类的父类是java.lang,在这个类里面有一个tostring函数是用来显示一些关于这个对象的hashcode等相关信息,当你要显示一个对象的时候,系统会自动调用这个对象的tostring方法,而它显示的都是一些系统数据,例如hashcode。如果你想显示你想要的东西,那么就应该重写这个类,把这个函数给覆盖了,那么系统就会调用你写的tostring方法,可以显示你想要的方法
------解决方案--------------------
都不是必须重写的,有需要才重写的
------解决方案--------------------
如果重写能帮助自己, 那么重写, 否则, 没有必要...
------解决方案--------------------
http://topic.csdn.net/u/20101219/21/f9b87142-6509-4f69-9acd-2bc66ec3a54e.html?20330

这个帖子里的代码就是很好的例子。你看看。

原理,就是重写咯。

每个自定义类都 继承自Object类。Object类的toString 方法是获取对象在内存中的值。

如果你的自定义类不需要这个信息,而是想要 如上面例子所要求的 打印各个对象的熟悉,这是就可以重写这个toString()方法实现自己要的格式。

重写 是会默认调用子类的方法。
------解决方案--------------------
嗯 这个问题 一直都不是很清楚 也经常看人家这么高 自己也搞过 知其一不知其二呐...
------解决方案--------------------
根据你的需求来吧``
------解决方案--------------------
当父类的方法不满足你新的需求时就可以重写改方法
------解决方案--------------------
首先说toString()、hashcode()这2个方法不是一定要重写的,所以不存在为什么要重写这2个方法的说法。
那什么时候需要重写这2个方法呢:
一个类对象作为参数传入到System.out.println()中时会调用这个对象的toString()方法,如果没有重写toString()方法的话,调用的就是Object类的toString()方法,那么输出信息没有实际意义。还有在debug时候中也会用到这个方法,但作用不大。
调用对象的equals()方法时会调用hashcode()这个方法,如果不重写hashcode()的话一般达不到想要的效果
------解决方案--------------------
重写还是问了想要自己得到的结果。。。。
------解决方案--------------------
程序需要,或者自己需要,不然没必要重写
  相关解决方案