java中每个类都从根本上继承了Object 因此都有toString()方法。
看下面例子
package com.cvicse.thinkingjava.thriteen;
import java.util.ArrayList;
import java.util.List;
public class InfiniteRecursion {
public String toString(){
return "address:"+this;
}
/**
* @param chenjun
*/
public static void main(String[] args) {
List<InfiniteRecursion> v = new ArrayList<InfiniteRecursion>();
for(int i = 0;i<10;i++){
v.add(new InfiniteRecursion());
System.out.print(v);
}
System.out.print(v);
}
}
我们本意想打印对象的引用地址,确得到异常,原因就是自动类型转换,应该调用Object.toString(),或者super.toString()