私はクラスを作成しました。今、私は日の2つのオブジェクトを比較して、どの日が後であるかを見たいと思います。compareToはスタックのオーバーフローを引き起こします
しかし、問題は、私は二日を比較するのcompareToを使用しようとしたとき、それはスタックオーバーフローに
の原因となるこれは私が作成した日のクラスですが、私がのcompareToを使用することはできません理由を確認するために助けてください。
public class Day implements Cloneable,Comparable<Day>{
private int year;
private int month;
private int day;
private static final String MonthNames="JanFebMarMayJunJulAugSepOctNovDec";
//Constructor
public Day(int y, int m, int d) {
this.year=y;
this.month=m;
this.day=d;
}
public void set(String sDay)
{
String[] sDayParts = sDay.split("-");
this.year = Integer.parseInt(sDayParts[2]);
this.day = Integer.parseInt(sDayParts[0]);
this.month = MonthNames.indexOf(sDayParts[1])/3+1;
}
public Day(String sDay)
{
set(sDay);
}
// Return a string for the day like dd MMM yyyy
public String toString() {
return day+"-"+ MonthNames.substring((month-1)*3,month*3)+ "-"+ year;
}
@Override
public int compareTo(Day another)
{
return this.compareTo(another);
}
もちろんです。すべてのcompareToメソッドは呼び出し自体です! –