关闭

toString方法导致的递归调用

标签: toStringthis递归
757人阅读 评论(0) 收藏 举报
分类:

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()方法,产生递归

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:114632次
    • 积分:1733
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:15篇
    • 译文:0篇
    • 评论:7条
    最新评论