public int compare(File f1, File f2) {
try {
Date fileDateTime1 = InterimUtil.extractDate(InterimUtil.fileDateFormat, f1);
Date fileDateTime2 = InterimUtil.extractDate(InterimUtil.fileDateFormat, f2);
if (fileDateTime1.getTime() > fileDateTime2.getTime()) {
return 1;
}
return -1;
} catch (Exception e) {
NGVSInterimFileGenerator.LOGGER.severe("Error occured in comparator" + e.getMessage());
}
return -1;
}
};
Arrays.sort(files, fileModTimeComp);
Error on executing above code. above code is gving the below error.
java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(TimSort.java:899) at java.util.TimSort.mergeAt(TimSort.java:516) at java.util.TimSort.mergeCollapse(TimSort.java:441) at java.util.TimSort.sort(TimSort.java:245) at java.util.Arrays.sort(Arrays.java:1438)