java.lang.IllegalArgumentException:比较方法违反了其一般合同(排序)

时间:2015-12-16 09:35:46

标签: comparison comparator

当我想对警报列表进行排序时,我有一个例外。我知道有些人跟我问过同样的问题。但我真的不知道我的代码的哪一部分导致了这个异常。 下面是我对警报列表进行排序的编码部分:

Collections.sort(listAlert, new Comparator()
    {
        public int compare(Object o1, Object o2)
        {
            int i = ((Alert)o1).getAlertType().compareTo(((Alert)o2).getAlertType());
            if(i == 0)
            {
                return (int)(((Alert)o1).getTime() - ((Alert)o2).getTime());
            }
            else return i;
        }
    });

注意:getAlertType()方法将返回String中的警报类型,getTime()方法将以毫秒(长)返回警报创建日期

我真的需要你的帮助。 TIA,

Tenlee

0 个答案:

没有答案