比较方法违反了其原始值的一般约定

时间:2019-05-13 15:27:07

标签: java java-8 comparator

在我的生产环境中调用此方法时,它给出了“比较方法违反了其一般合同”的错误。我试图在本地环境中复制相同的错误,但无法重现此错误。

public class RecordGradeComparatorDesc implements Comparator<AbstractCollectorRecord>
{

    public int compare(AbstractCollectorRecord rec1, AbstractCollectorRecord rec2)
    {

        double diff = rec2.getFilterGrade() - rec1.getFilterGrade();

        if (diff != 0)
        {
           if (diff < 0)
           {
             return -1;
           }
           return 1;
        }
        return 0;

    }   

}

如果对此有任何建议,请帮助我。

0 个答案:

没有答案