重複の可能性:
StackOverflowErrorが発生する理由
私は2つのクラスを使用しています:日付と試験。Dateは、3つの整数(日、月、年)からDateオブジェクトを設定します。Examは、1つのStringcourseNameと1つのDateオブジェクトからExamオブジェクトを設定します。
私はこのコードを実行しようとしています:
public Exam(String name, Date d)
{
courseName=name;
examDate=new Date(d);
}
//**a method that checks if two dates are equal**
public boolean equals (Date r)
{
return (examDate.equals(r));
}
public static void main(String[] args)
{
Date d=new Date(11,11,2011);
String a=new String("OOP");
Exam b=new Exam(a,d);
Date c=new Date(11,11,2011);
System.out.println(b.equals(c));
}
コードを実行しようとすると、スレッド「main」でエラー例外が発生します。java.lang.StackOverflowError
エラーは、問題が2つの日付が等しいかどうかをチェックするDateクラスの行にあることを示しています。
public boolean equals (Date d)
{
return (this.equals(d));
}
それがなぜ起こるのかを知って感謝します。