首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于重写toString,该怎么处理

2012-01-10 
关于重写toStringpublic String toString(){return this + @ + this.hashCode()}这样重写对不对?为什么

关于重写toString
public String toString(){
  return this + "@" + this.hashCode();
}
 这样重写对不对?

为什么会转化为 下面的形式:

public String toString(){
  return String.valueOf(this) + "@" + String.valueOf(this.hashCode());
}

[解决办法]
this代表的是对象本身
而且隐式转换中,采用 “+ ”连接字符串的话,首先调用的就是对象的toString方法
也就是

public String toString(){ 
return this.toString() + "@" + this.hashCode(); 


你在重写toString方法的同时,又怎么能调用这个方法?
[解决办法]
会递归死。。 
this + "@" 好像是相当于this.toString() + "@" 。。。。。

[解决办法]
楼主是在调用自己当前方法了,所以不行。
[解决办法]
相当于无穷尽的调用自己重写的方法
LZ早点结贴哦
[解决办法]
多么经典的递归。。。
[解决办法]
人家递归有结束的时候,这个结束不了的~

探讨
多么经典的递归。。。

热点排行