クラスを作成したことを並べ替えの実装に問題があります
@Override
public int compare(Object object1, Object object2) {
try {
Method method = object1.getClass().getDeclaredMethod("getStampDate");
Date value = (Date) method.invoke(object1);
Method method1 = object1.getClass().getDeclaredMethod("getStampDate");
Date value1 = (Date) method.invoke(object2);
//Date stamepDate1 = fetchStampDate(object1 );
//Date stamepDate2 = fetchStampDate(object2);
if(value != null && value1 != null )
return compare(value, value1);
}
しかし、私が電話しているとき
public void columnsList(List<TableRecord> records){
Collections.sort(records, new StampDateComparator());
}
コンパレーターは私が期待していることTableRecord
を一度だけ呼び出し、日付変数を含みます。このソートメソッドは日付に基づいてソートしますが、コンパレーターは私が間違っていることを一度だけ呼び出しますか?
テストのために、リストに2つのレコードを追加しました
List<TableRecord> records = new ArrayList<TableRecord>();
records.add(new MyClass());
records.add(new MyClass1());
しかし、これは一度だけ呼び出されます