I have List stored in SharedInstance, Which I want to sort based upon time parameter.
Code for sorting Collections.sort(SharedInstance.getInstance().getMasterlistFavFeeds().getPosts(), new DateComparator());
public class DateComparator implements Comparator { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
@Override
public int compare(Object date1, Object date2) {
    try {
        return dateFormat.parse(date2.toString()).compareTo(dateFormat.parse(date1.toString()));
    } catch (ParseException e) {
        throw new IllegalArgumentException(e);
    }
}
}
Crash Log is
java.lang.ArrayIndexOutOfBoundsException: length=1459; index=1459
    at java.util.Collections.sort(Collections.java:1888)
    at com.fnshealth_android.utils.UpdateComments.updateCommentCountToSharedInstanceList(UpdateComments.java:34)
    at com.fnshealth_android.utils.NotificationManager.processNewCommentFeed(NotificationManager.java:135)
    at com.fnshealth_android.utils.NotificationManager.setDataMessagesMap(NotificationManager.java:99)
    at com.fnshealth_android.services.FNSFirebaseMessagingService.onMessageReceived(FNSFirebaseMessagingService.java:46)
    at com.google.firebase.messaging.FirebaseMessagingService.zzo(Unknown Source)
    at com.google.firebase.messaging.FirebaseMessagingService.zzn(Unknown Source)
    at com.google.firebase.messaging.FirebaseMessagingService.zzm(Unknown Source)
    at com.google.firebase.iid.zzb$2.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:818)
Why I am getting such crash ? and how to handle it ?
Can I use try catch for ArryaoutOfIndex exception ?
 
    