Posted on 2008-04-09 22:47
xan 閱讀(171)
評(píng)論(0) 編輯 收藏 所屬分類:
Java
public class InfiniteRecursion{
public String toString(){
return "InfiniteRecursion"+this+"\n";
}
public static void main(String[] args){
ArrayList al=new ArrayList();
al.add(new InfiniteRecursion());
System.out.println(al);
}
}
問題在于String的自動(dòng)類型轉(zhuǎn)換,return "InfiniteRecursion"+this+"\n" 編譯器見String后跟著一個(gè)‘+’,‘+’之后的不是String,于是編譯器嘗試將this轉(zhuǎn)換為String,將調(diào)用InfiniteRecursion的toString()方法,從而造成遞歸。
zz thinking in JAVA