【发布时间】:2016-04-01 00:10:42
【问题描述】:
我收到以下错误
无法恢复活动 {com.xxx.yyy.zzz.HomeActivity}:java.lang.IllegalArgumentException:比较方法违反了它的一般合同!
即使出现此错误,我仍在处理字符串的 null 情况。关于可能出错的任何提示。代码如下
public class ConversationComparer implements Comparator<Conversation> {
@Override
public int compare(Conversation x, Conversation y) {
if (x.getLastMessageDate() == null) {
return 1;
}
if (y.getLastMessageDate() == null) {
return -1;
}
return y.getLastMessageDate().compareTo(x.getLastMessageDate());
}}
public java.util.Date getLastMessageDate() {
return lastMessageDate;
}
这就是我使用比较器的方式
if (conversationListAdapter != null) {
Collections.sort(this.list,new ConversationComparer());
conversationListAdapter.notifyDataSetChanged();
}
【问题讨论】: