社区
Java SE
帖子详情
无论如何,每一个类都应该定义 toString 方法.为什么?
xzjjy
2006-05-25 12:27:35
看到一篇文章,里面有一句说是:"无论如何,每一个类都应该定义 toString 方法".我有些不太明白,请大家指点一二.
...全文
784
25
打赏
收藏
无论如何,每一个类都应该定义 toString 方法.为什么?
看到一篇文章,里面有一句说是:"无论如何,每一个类都应该定义 toString 方法".我有些不太明白,请大家指点一二.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xzjjy
2006-05-29
打赏
举报
回复
明白了一些,谢谢
Java_caicainiao
2006-05-27
打赏
举报
回复
这是在effective里的话, 主要是让对象在打印时打印出有意义的值 而不是用从object那继承的打印 @类名+hashcode这样让人费解的字符串。
zt_soft
2006-05-27
打赏
举报
回复
无论如何??
可以不用,但如果要打印对象名啊之类的就复写toString()方法。
Camelh
2006-05-26
打赏
举报
回复
定义自己的toString(),可以用他来打印对象各个成员的内容,比较有用
dewdrop
2006-05-26
打赏
举报
回复
这个要看写的class有什么用了,我觉得没必要每个class都要toString(),
override了此方法在打印的时候清楚明了而已~。
Ryo_Hazuki
2006-05-26
打赏
举报
回复
是的
figoren
2006-05-26
打赏
举报
回复
应该不是强迫只是复写toString方法是一种好的习惯,可以方便调式
xzjjy
2006-05-26
打赏
举报
回复
顶,别不小心掉了下去
xiaoxiao130130
2006-05-26
打赏
举报
回复
自己在自定义类中重写了toString(),它在调试的时候用处很大,我是这样认为的
天外流星
2006-05-26
打赏
举报
回复
在开发过程中.如果有必要就自己重写toString()方法
gyang
2006-05-26
打赏
举报
回复
说toString用于调试,未免太局限,太过分了。
toString本身就具有很好的用途。
比如,我们知道 table的cell中接受任何类型对象。那么table中显示对象的什么呢?它就显示toString()返回的字符串。
看问题,要看其本质
nirvana_li
2006-05-26
打赏
举报
回复
这个说法见于joshua Bloch的effective java第9条 : 总是要改写toString
因为java.lang.Object提供了toString方法的一个实现,但是它返回的字符串通常并不是类的用户所期望看到的。它包含类的名字,以及一个"@"符号,接着是hashcode的无符号十六进制表示。比如“PhoneNumber@163b91”。
重写toString的必要性在于:
1.提供一个好的toString实现,可以使一个类用起来更加愉快。
2.在实际应用中,toString方法应该返回对象所包含的所有令人感兴趣的内容。
3.不管你是否决定指定格式,都应该在文档中明确的表明你的意图。
4.无论是否指定格式,为toString返回值中包含的所有信息,提供一种编程访问途径,这总使一种好的做法。
yinleiyoung
2006-05-26
打赏
举报
回复
可以方便开发人员调试,它是非常好的调试工具。
要为以后的开发人员着想
eswn
2006-05-26
打赏
举报
回复
kingofworl(良辰美景虚度) 正解,如果有条件的话,可以重写toString()方法。
十分钟年华老去
2006-05-26
打赏
举报
回复
是继承掉了,不是一定要去写的
eyeseaJason
2006-05-26
打赏
举报
回复
我接触的实际开发中,大部分类都不重写toString()的。因为那些处理逻辑功能的类,根本没机会被调用toString()方法的,如果这样的类与用户交互或写日志信息肯定有自己的方法。
对于那些经常要打印自身信息的类,定义一个合适的toString()方法,会使打印出来的信息更加友好和清楚;当然你不定义的话,就会调用Object类的toString()方法,你试验一下看看打印出来的信息很不友好。
这是我的理解。
onewalkingman
2006-05-26
打赏
举报
回复
不需要,Object中有toString()方法,而所有类继承Object,自己定义的话,无非是进行覆盖了!~
treeroot
2006-05-26
打赏
举报
回复
这样的话都说的出口,什么叫无乱如何都得呀
什么叫定义呀
AllanJD
2006-05-26
打赏
举报
回复
标准的项目开发中,并不是所有的Class都要重写toString()方法的。
基本要求是对自定义的数据类提供重写的toString()方法,如果父类已经提供了意义明确的toString()方法,子类就可以不在重写了。
江南编程浪子
2006-05-26
打赏
举报
回复
可以不定义的,
定义的作用是便于调试
加载更多回复(5)
将数字转换成文本的程序
将数字转换成文本, 如32转换成thirty two
java语言object
类
toString
方法
和equals
方法
的用法
java语言object
类
toString
方法
和equals
方法
的用法 **
toString
和equals都属于object的成员
方法
toString
用于输出,equals用于判断两个对象是否相等** 1.
toString
()
方法
定义
返回为String
类
型 返回对象的字符串表示形式。 API中的解释为:public String
toString
()返回对象的字符串表示形式。 一般来说,
toString
方法
返回
一个
“textually代表”这个对象的字符串。 结果
应该
是
一个
简明扼要的表达,容
Java关于
toString
()
方法
和equals()
方法
一.
toString
()
方法
Object
类
是
类
层次结构的根(父)
类
,每个
类
都使用Object
类
作为超
类
,所有对象都实现这个
类
的
方法
,其中
toString
()
方法
,默认输出的是
类
名和内存地址值。 在Object
类
中里面
定义
toString
方法
的时候 返回的对象是哈希code码,这个哈希code码不能简单明了的表示出对象的属性,所以要重写
toString
方法
。 (1)当我们打印
一个
对象的引用时,默认...
【Lombok】@
ToString
| 自动生成
类
的
ToString
方法
文章目录一、简介二、示例比较1. Lombok 写法2. Java 标准写法三、支持的配置项四、附属说明参考文献 一、简介 任何
类
定义
都可以用@
ToString
注释,以使lombok生成
ToString
()
方法
的实现。默认情况下,它将按顺序打印您的
类
名以及每个字段,并用逗号分隔。 通过设置includeFieldNames参数为true,你可以为
toString
()
方法
的输出增加一些清晰度(但也有相当的长度)。 默认情况下,所有非静态字段将被打印。如果你想跳过某些字段,你可以用@
ToString
.Exclu
Convert.
ToString
()和
ToString
()区别在哪里?
ToString
()函数能用来完成数值型数据向字符串
类
型的转换 而Convert.
ToString
()则是强制转换,无论数据是什么样
类
型的都可以通过使用这个
方法
将其转换成字符串
类
型的。 而System.Convert
类
提供了将
一个
基础数据
类
型转换成另
一个
基础数据
类
型的
方法
。
Tostring
也可来完成字符向字符串
类
型的转换,大体上两者的功能是相同的。 可是如果你要转换的对象是空的话就得用con
Java SE
62,633
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章