class A
{
public String toString()
{
return this+"@"+this.hashCode();
}
public static void main(String args[])
{
new A().toString();
}
}
Exception in thread "main" java.lang.StackOverflowError
at java.lang.String.valueOf(String.java:2577)
at java.lang.StringBuilder.append(StringBuilder.java:116)
at A.toString(ReverseFile.java:117)
this+"@"+this.hashCode() 这个地方有问题
return this.getClass()+"@"+this.hashCode();
this+"@"+this.hashCode();
this,放到字符串里,编译器就会自动调用该类的toString()方法,在toString()方法里调用toString()方法会形成了递归, 一个无限的递归,编译器不允许,所以抛出异常。
this+"@"+this.hashCode()
最新推荐文章于 2023-05-12 15:50:26 发布