dai_的专栏

不坚持就不能ZGZ

toString方法导致的递归调用

1. 在toString方法中使用this关键字,导致的递归,见代码:

package string;

public class InfiniteRecursion {
	
	@Override
	public String toString() {
		//this关键字会调用this.toString()方法,产生递归
		//修改为super.toString()
		return "InfiniteRecursion : " + this;  
	}
	
	public static void main(String[] args) {
		InfiniteRecursion ir = new InfiniteRecursion();
		System.out.println(ir.toString());  //Exception in thread "main" java.lang.StackOverflowError
		
	}
	
}
//output
Exception in thread "main" java.lang.StackOverflowError
2. 分析:"InfiniteRecursion : " + this 表示字符串连接,会调用this.toString()方法,产生递归
阅读更多
文章标签: toString this 递归
个人分类: Think In Java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

toString方法导致的递归调用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭