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;
}
});
}
}