栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JPA:关于在实体类中添加toString方法的java.lang.StackOverflowError

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JPA:关于在实体类中添加toString方法的java.lang.StackOverflowError

根据学生班级的增加进行了更新

根据堆栈跟踪,您的问题与关联

Student.toString()
,因此发生了什么:

在中

Teacher.toString()
,您
Student.toString()
通过将
students
成员放在
String
串联语句中隐式调用
+students +
Student.toString()
通过
teacher
String
串联语句中包含成员,代码内的功能类似。

这意味着调用

Teacher.toString()
Student.toString()
将最终导致永无止境的循环,其中:
Teacher.toString()
隐式调用
Student.toString()
,后者又隐式调用
Teacher.toString()
,后者又调用
Student.toString()
,后者又调用…

这2个

.toString()
实现以不断循环的方式来回调用,来回调用,来回调用,这最终使堆栈溢出并导致
java.lang.StackOverflowError

若要更正此问题,应删除

.toString()
对实体方法的隐式引用。作为替代,你可以有
Teacher.toString()
简单输出
length()
的的
students
收集和可能包括的名单
Student
姓名(或名称)。并在中
Student.toString()
,仅包括
Teacher.name
成员。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391926.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号