日期:2014-05-20  浏览次数:20728 次

String类的toString方法
刚看了下JDK1.7的源码,发现String类里有一个char数组,构造方法都是将值存入这个char数组,但是发现toString方法返回的是this,并注释好本对象已经是字符串,但是还是不明白为什么不是将char数组中的东西返回呢

------解决方案--------------------
toString的用途就是获得对象的字符串表示,返回值一定要是String才行,跟char[]没关系

------解决方案--------------------
本来就是字符串,toString返回的要的就是字符串,返回this是最省事的啊。
如果利用char[]的话,那还要重新new一个字符串。
------解决方案--------------------
引用:
toString的用途就是获得对象的字符串表示,返回值一定要是String才行,跟char[]没关系



引用:
本来就是字符串,toString返回的要的就是字符串,返回this是最省事的啊。
如果利用char[]的话,那还要重新new一个字符串。


我想LZ的意思是想问,为啥String类型直接打印的时候,会将char[]串行品在一起打印出来,而不是像直接打印char[]那样出现内存地址的情况。

个人猜测:jvm会对String类型的对象打印时,做了特殊的处理,将char[]串在一起。