I have a List<object> where I have a property manufacturedDate where I have to do sorting. In the List<Object> there are some values as null for manufacturedDate. The sorting is not happening properly. I am not sure if it is because of the null values. The list does not returns values on asc or desc order of manufacturedDate.
Below is my code:
if(sortType.equalsIgnoreCase("manufacturedDate"))
{
DateFormat sdf1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
if(manufacturedDateSortAsc.equalsIgnoreCase("Desc"))
{
manufacturedDateSortAsc = "Asc";
Collections.sort(carList, new Comparator<CarDataTransferObject>()
{
public int compare(CarDataTransferObject object1, CarDataTransferObject object2)
{
int returnVal = 0;
try
{
returnVal = sdf1.parse(object1.getManufacturedDate()).compareTo(sdf1.parse(object2.getManufacturedDate()));
}
catch (Exception e)
{
log.error("Error inside sortList method"+e);
}
return returnVal;
}
});
}
else
{
usReleaseDateSortAsc = "Desc";
Collections.sort(carList, new Comparator<CarDataTransferObject>()
{
public int compare(CarDataTransferObject object1, CarDataTransferObject object2)
{
int returnVal = 0;
try
{
returnVal = sdf1.parse(object2.getManufacturedDate()).compareTo(sdf1.parse(object1.getManufacturedDate()));
}
catch (Exception e)
{
log.error("Error inside sortList method"+e);
}
return returnVal;
}
});
}
}