Comparison method violates its general contract Exception

原创 2017年01月03日 14:43:07

今天代码中本地运行可以,qa运行报如下错误。

Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!

比较代码:

    if(this.getDisplayOrder() == null){
            return 1;
        }else if(o.getDisplayOrder() == null){
            return -1;
        }else{
            return this.getDisplayOrder().compareTo(o.getDisplayOrder());
    }

原因:有些情况比较返回的值非数字, 或者没有考虑到某些情况导致的。
改成如下代码就可以了:

if(c1.getDisplayOrder() == null && c2.getDisplayOrder() == null){
                    return 0;
                } else if(c1.getDisplayOrder() == null){
                    return 1;
                }else if(c2.getDisplayOrder() == null){
                    return -1;
                }else{
                    return c1.getDisplayOrder().compareTo(c2.getDisplayOrder());
                }

面向对象设计——协变与逆变

在面向对象的设计中,我们一直追求一种结果,就是良好的复用性,基于这个理念,面向对象的设计中加入了协变与逆变(Covariance and Contravariance)两个概念,我们先来简单了解一下这...
  • xvshu
  • xvshu
  • 2014年07月03日 13:33
  • 1532

初次使用Android Studio的配置问题

初次使用Android Studio的配置问题使用书籍《第一行代码》郭霖 导致编译无法通过等等问题: @override报错 项目在模拟器上强制关闭 @override报错错误提示”met...
  • LHmaker
  • LHmaker
  • 2016年03月05日 12:23
  • 260

ContactContract部分重要点翻译

/* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Ve...
  • hailushijie
  • hailushijie
  • 2013年06月13日 17:43
  • 3841

Java注解介绍

原文链接: Java Annotations: An Introduction原文日期: 2005年10月14日翻译日期: 2014年07月20日翻译人员: 铁锚翻译完后,感觉这篇文章是不是在http...
  • renfufei
  • renfufei
  • 2014年07月20日 18:38
  • 5898

用类别重写系统API的方法,去除xcode警告

当你用一个类别来重写系统的方法时候 比如:+ (UIFont *)systemFontOfSize:(CGFloat)fontSize { return [self aCustomFontOfSiz...
  • ydj213
  • ydj213
  • 2013年02月21日 13:28
  • 5259

[Android]使用Bmob向云数据库插入数据报错

错误报告:03-08 21:02:12.163 17324-17613/com.xiaoyan.sharesystem E/AndroidRuntime: FATAL EXCEPTION: RxIoS...
  • u011596810
  • u011596810
  • 2017年03月08日 21:07
  • 1372

java基础复习之《异常体系》

Throwable      |-Error      |-Exception           |-RuntimeException   自定义异常   package com.jingfeng....
  • aaygj
  • aaygj
  • 2015年03月26日 21:49
  • 896

Android推送技术研究

前言 最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 只能说说自己的理解....
  • u013164293
  • u013164293
  • 2016年04月03日 09:23
  • 432

关于Android中一些异常问题的解决办法

// Top-level build file where you can add configuration options common to all sub-projects/modules. ...
  • tangzhide
  • tangzhide
  • 2016年08月09日 21:33
  • 1514

JAVA常见问题解决办法汇总

1.java.lang.NullPointerException        原因是:有空指针,有地址没赋值 2.Exception in thread "main" java.lang.Ari...
  • shengmingqijiquan
  • shengmingqijiquan
  • 2016年04月17日 22:33
  • 23395
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Comparison method violates its general contract Exception
举报原因:
原因补充:

(最多只允许输入30个字)