社区
Java EE
帖子详情
为什么要重写tostring()方法?
vincevincevincevince
2010-12-20 09:09:25
为什么要重写tostring()方法?
又为什么要重写hashcode()。什么时候重写这些方法
...全文
4314
17
打赏
收藏
为什么要重写tostring()方法?
为什么要重写tostring()方法? 又为什么要重写hashcode()。什么时候重写这些方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sailor_moon2
2012-07-17
打赏
举报
回复
能举几个经典的例子吗?
shaosijun2004
2010-12-24
打赏
举报
回复
程序需要,或者自己需要,不然没必要重写
风影萧诺
2010-12-24
打赏
举报
回复
重写还是问了想要自己得到的结果。。。。
super254
2010-12-24
打赏
举报
回复
首先说toString()、hashcode()这2个方法不是一定要重写的,所以不存在为什么要重写这2个方法的说法。
那什么时候需要重写这2个方法呢:
一个类对象作为参数传入到System.out.println()中时会调用这个对象的toString()方法,如果没有重写toString()方法的话,调用的就是Object类的toString()方法,那么输出信息没有实际意义。还有在debug时候中也会用到这个方法,但作用不大。
调用对象的equals()方法时会调用hashcode()这个方法,如果不重写hashcode()的话一般达不到想要的效果
wsyangdayong
2010-12-24
打赏
举报
回复
当父类的方法不满足你新的需求时就可以重写改方法
Mr.小铭
2010-12-20
打赏
举报
回复
根据你的需求来吧``
handsome_huxiulei
2010-12-20
打赏
举报
回复
嗯 这个问题 一直都不是很清楚 也经常看人家这么高 自己也搞过 知其一不知其二呐...
谁是莫默的呢
2010-12-20
打赏
举报
回复
http://topic.csdn.net/u/20101219/21/f9b87142-6509-4f69-9acd-2bc66ec3a54e.html?20330
这个帖子里的代码就是很好的例子。你看看。
原理,就是重写咯。
每个自定义类都 继承自Object类。Object类的toString 方法是获取对象在内存中的值。
如果你的自定义类不需要这个信息,而是想要 如上面例子所要求的 打印各个对象的熟悉,这是就可以重写这个toString()方法实现自己要的格式。
重写 是会默认调用子类的方法。
孤独剑客
2010-12-20
打赏
举报
回复
如果重写能帮助自己, 那么重写, 否则, 没有必要...
yingying0406
2010-12-20
打赏
举报
回复
都不是必须重写的,有需要才重写的
hei_apple
2010-12-20
打赏
举报
回复
3
我是新手,说的不算数哈。
所有java的类的父类是java.lang,在这个类里面有一个tostring函数是用来显示一些关于这个对象的hashcode等相关信息,当你要显示一个对象的时候,系统会自动调用这个对象的tostring方法,而它显示的都是一些系统数据,例如hashcode。如果你想显示你想要的东西,那么就应该重写这个类,把这个函数给覆盖了,那么系统就会调用你写的tostring方法,可以显示你想要的方法
liaojianbiao
2010-12-20
打赏
举报
回复
当进行输出操作,java会调用toString,当涉及到hash操作java会调用hashcode方法对返回值进行比较
liaojianbiao
2010-12-20
打赏
举报
回复
我个人理解:重写toString是对对象打印输出的一种格式化。当你print一个对象是你需要这个对象在打印时展现的是什么形态你就把toString重写成你需要的返回形态。重写hashcode主要是为了规定对象之间的比较方式。如果你把对象存入hash集合,集合就会对对象的hashcode进行比较以区分两个对象是否是同一对象。
昵称很不好取
2010-12-20
打赏
举报
回复
比如当某个对象和String相连的时候,有时候系统提供的toString不能满足要求,这个时候需要重写toString方法,来实现特定的功能,否则可能会打印引用地址之类的信息
vincevincevincevince
2010-12-20
打赏
举报
回复
能帮我举个例子吗。帮我分析下底层原理。谢谢
qunhao
2010-12-20
打赏
举报
回复
等你又需求的时候就需要重写。需求是多样的。。。
谁是莫默的呢
2010-12-20
打赏
举报
回复
没有一定要写toString().
一般toString()方法会应用在自己bean类中。根据需要 在重写的toString 方法中 组织自己想要显示的当前对象的信息。
比如按一定规则格式返回 所以属性的名称及值。
根据数据库生成javabean的eclipse插件
4、 支持
重写
“
toString
”
方法
(返回json格式字符串)。 5、 支持国际化。 6、 支持返回字段属性数组。 7、 支持java元注释。 8、 支持生成ibatis配置文件。 9、 支持生成不同文件格式(gbk、utf-8等)。 10、...
[Java] 为什么要
重写
toString
方法
?如何写?
你知道该如何正确
重写
toString
方法
吗?阅读本文你将知道正确地写一个
toString
方法
的原理和了解现已有的开源工具去生成正确的
toString
方法
。
征服Node.js 7.x视频课程(5):使用Buffer处理二进制数据
本课程主要介绍了如何创建Buffer对象,获取缓冲区长度,
toString
方法
、write
方法
、StringDecoder对象、Buffer对象与数值之间的转换以及其他一些常用
方法
的使用。
为什么要
重写
toString
方法
?
toString
方法
为什么需要
重写
tostring
方法
?
强烈建议为自定义的每一个类增加
toString
方法
,这样做不仅自己收益,而且所有使用这个类的程序员也会收益。 这是为啥?带着疑惑去了解了一下,整理到了这篇博客里: 首先我们看看
重写
前后打印输出语句的差别叭: ...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章