この問題への取り組み方がよくわかりません。これは私が得ているエラーメッセージです:
Exception in thread "main" java.lang.NullPointerException
at java.util.Date.getMillisOf(Date.java:939)
at java.util.Date.compareTo(Date.java:959)
at FirstOccComparator.compare(FirstOccComparator.java:11)
at FirstOccComparator.compare(FirstOccComparator.java:1)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.sort(Arrays.java:1210)
at Planner.sort(Planner.java:62)
at Test.main(Test.java:81)
@行81をテストします。
p.sort( new FirstOccComparator() );
ここで、pは私が作成したプランナークラスです。
Planner.sort @ 62行目:
public void sort(Comparator<AbstractEvent> c) {
Arrays.sort(schedule, c);
}
これは私のFirstOccComparatorクラスです:http://pastebin.com/4FZv4nXf ( 幅が広すぎてここでフォーマットするのが難しいため、pastebinに投稿されました)。このクラスでは、hasMoreOccurrences()は、イベントの再発がさらにある場合にtrue/falseを返します。nextOccurrence()は、次に発生する日付を返します。
ここで欠けているのは非常に単純なことだと確信しています。インターフェイスとコンパレータクラスはまだ新しいです。
助けてくれてありがとう!