Я сортирую коллекцию по дате следующим образом, но в коллекции некоторые поля даты пусты, и сортировка выполняется неправильно.
public class DateComparator implements Comparator<MyList>{
private static boolean isAscending;
private static final String TAG = "DateComparator";
public static boolean isAscending() {
return isAscending;
}
public static void setAscending(boolean isAscending) {
DateComparator.isAscending = isAscending;
}
@Override
public int compare(MyList lhs, MyList rhs) {
String pattern = "MM/dd/yyyy";
try {
String dueDateLHS = lhs.getDueDate();//some field are null
String dueDateRHS = rhs.getDueDate();//some field are null
if(dueDateLHS!=null && dueDateRHS!=null){
SimpleDateFormat dateFormatLHS = new SimpleDateFormat(pattern);
SimpleDateFormat dateFormatRHS = new SimpleDateFormat(pattern);
Date dateLHS = dateFormatLHS.parse(dueDateLHS);
Date dateRHS = dateFormatRHS.parse(dueDateRHS);
if(isAscending)
return dateLHS.compareTo(dateRHS);
else
return dateRHS.compareTo(dateLHS);
}
} catch (ParseException e) {
Log.e(TAG, ""+e.getMessage());
e.printStackTrace();
}
return -1;
}
}
Как решить эту проблему?