Ignoring the equals() and hashcode() methods while performing object comparison
Consider the following Apex class:
global class DealInfo {
public Integer amount {get;set;}
public String amountCurrency {get;set;}
}
Now, we are in a situation where we need to sort a list of objects from the preceding class. Let's run the following anonymous code:
DealInfo o = new DealInfo(); o.amount = 200; o.amountCurrency = 'USD'; DealInfo o1 = new DealInfo(); o1.amount = 100; o1.amountCurrency = 'USD'; List<DealInfo> lstDeals = new List<DealInfo>{o,o1}; lstDeals.sort();
If you are expecting the list to get sorted, then it's not so. We get the following error from Apex:
System.ListException: One or more of the items in this list is not Comparable.
Salesforce already supports sorting primitive datatypes. However, to support the sorting capabilities for objects, such as wrapper classes or lists, we need...