String类的toString方法

wuer0520 2013-12-17 11:44:42
刚看了下JDK1.7的源码,发现String类里有一个char数组,构造方法都是将值存入这个char数组,但是发现toString方法返回的是this,并注释好本对象已经是字符串,但是还是不明白为什么不是将char数组中的东西返回呢
...全文
219 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
WayneXuan 2013-12-18
  • 打赏
  • 举报
回复
toString的用途就是获得对象的字符串表示,返回值一定要是String才行,跟char[]没关系
wuer0520 2013-12-18
  • 打赏
  • 举报
回复
引用 4 楼 oh_Maxy 的回复:
[quote=引用 2 楼 waynexuan 的回复:] toString的用途就是获得对象的字符串表示,返回值一定要是String才行,跟char[]没关系
引用 3 楼 rumlee 的回复:
本来就是字符串,toString返回的要的就是字符串,返回this是最省事的啊。 如果利用char[]的话,那还要重新new一个字符串。
我想LZ的意思是想问,为啥String类型直接打印的时候,会将char[]串行品在一起打印出来,而不是像直接打印char[]那样出现内存地址的情况。 个人猜测:jvm会对String类型的对象打印时,做了特殊的处理,将char[]串在一起。[/quote] 版主你真是亲人,我就是想问这个
小陈杰帝 2013-12-18
  • 打赏
  • 举报
回复
char[] chs = {'1','2','a','b'};
		System.out.println(chs);
这段代码返回的就是12ab字符串,好像所有的数组中就char数组是这样。 我觉得估计是设计的时候string底层是它才会这样的
oh_Maxy 2013-12-18
  • 打赏
  • 举报
回复
引用 2 楼 waynexuan 的回复:
toString的用途就是获得对象的字符串表示,返回值一定要是String才行,跟char[]没关系
引用 3 楼 rumlee 的回复:
本来就是字符串,toString返回的要的就是字符串,返回this是最省事的啊。 如果利用char[]的话,那还要重新new一个字符串。
我想LZ的意思是想问,为啥String类型直接打印的时候,会将char[]串行品在一起打印出来,而不是像直接打印char[]那样出现内存地址的情况。 个人猜测:jvm会对String类型的对象打印时,做了特殊的处理,将char[]串在一起。
rumlee 2013-12-18
  • 打赏
  • 举报
回复
本来就是字符串,toString返回的要的就是字符串,返回this是最省事的啊。 如果利用char[]的话,那还要重新new一个字符串。
oh_Maxy 2013-12-18
  • 打赏
  • 举报
回复
引用 5 楼 u013028373 的回复:
char[] chs = {'1','2','a','b'};
		System.out.println(chs);
这段代码返回的就是12ab字符串,好像所有的数组中就char数组是这样。 我觉得估计是设计的时候string底层是它才会这样的
说得对,我的讲法有问题~
UDown 2013-12-17
  • 打赏
  • 举报
回复
上代码

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧