java什么是循环溢出错误_toStrings()的堆栈溢出错误(java)

我的两个toString()似乎处于无限循环中,但是我不确定是什么问题.我已经调试了几个小时,看不到任何错误的内容.

对于上下文,主要部分的相关部分是:

????System.out.println(class1);

????adminStaff1.assignInstructor(class1,教师1);

????System.out.println(class1);

第一个println工作,但是当我调试时,我看到一个源查找错误,然后再进行处理.第二个class1创建StackOverflowError,它是:

Exception in thread "main" java.lang.StackOverflowError

at java.lang.AbstractStringBuilder.append(Unknown Source)

at java.lang.StringBuilder.append(Unknown Source)

at java.lang.StringBuilder.(Unknown Source)

at Instructor.toString(Instructor.java:59)

at java.lang.String.valueOf(Unknown Source)

at java.lang.StringBuilder.append(Unknown Source)

at Class.toString(Class.java:89)

at java.lang.String.valueOf(Unknown Source)

at java.lang.StringBuilder.append(Unknown Source)

at java.util.AbstractCollection.toString(Unknown Source)

at java.lang.String.valueOf(Unknown Source)

at java.lang.StringBuilder.append(Unknown Source)

at Instructor.toString(Instructor.java:59)

类的toString是:

@Override

public String toString() {

return "Class [instructor=" + instructor + ", lectureHall="

+ lectureHall + ", currentEnrollment=" + currentEnrollment

+ ", timeSlot=" + timeSlot + ", filled=" + filled

+ ", studentList=" + studentList + "]";

}

讲师的toString是:

@Override

public String toString() {

return "Instructor [salary=" + salary + ", classList=" + classList

+ ", openTimeSlots=" + openTimeSlots + ", "

+ super.toString() + "]";

}

并且super.toString()是:

@Override

public String toString() {

return "[idNumber=" + idNumber + ", email=" + email

+ "]";

}

我不确定为什么,但是adminStaff1.assignInstructor似乎也是导致该问题的原因,它是:

public void enrollStudent(Student student, Class aClass){

aClass.checkIfFilled();

if(!aClass.getFilled()){

aClass.addStudent(student);

student.addClass(aClass);

aClass.increaseEnrollment();

} else {

System.out.println("Could not add student because the class is currently full.");

}

}

如果有人可以帮助我理解问题所在,我表示衷心的感谢.谢谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值