打印时报StackOverflowError,排查时发现两个JavaBean在互相调用对方的toString方法,最终导致StackOverflowError,所以如果使用IDE自动生成toString方法时需要注意一下了,要避免相互调用
代码如下:
部门实体类:
public class Dept {
private int deptId;
private String deptName;
private Set<Employee> emps = new HashSet<>();
@Override
public String toString() {
return "Dept{" +
"deptId=" + deptId +
", deptName='" + deptName + '\'' +
// 此处需要调用Employee的toString()方法
", emps=" + emps +
'}';
}
// ....
}
员工实体类:
public class Employee {
private int empId;
private String empName;
private double salary;
private Dept dept;
@Ove